قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

فادى السعيد
:: مهندس جيد ::
تاريخ التسجيل: Apr 2009
المشاركات: 260
نشاط [ فادى السعيد ]
قوة السمعة:0
قديم 16-04-2016, 04:28 PM المشاركة 1   
افتراضي مساعده من عباقره القريه Twitter FaceBook Google+



كيف حفظ متغير من نوع int في الابروم

لان المتغير اكبر من البايت
وشكرا

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 16-04-2016, 05:42 PM المشاركة 2   
افتراضي


اذا كانت البيانات كثيرة و الفرق بينها كبير مثلا مرة تكون 300 و مرة اخرى تكون 5000 فمن الافضل تجزئة الرقم باجزاء تساوي عدد المراتب لاكبر رقم محتمل ثم تخزن المراتب كل في عنوان . مع الاحتفاظ بالقيمة المكانية لكل عنوان من اجل اعادة تجميع الرقم بضرب كل مرتبة بالقيمة المكانية لها ...
واذا كانت البيانات ذات طابع واحد ( اي انها متساويه بعدد المراتب ) فيمكن تجزئة الرقم الى اجزاء بحيث كل جزء لا يتعدى 255 و اتباع نفس التعليمات السابقة .

من اجل تجزئة الرقم الى مراتبه لناخذ المثال التالي :
مثلا الرقم 4321 .
كود:
intx x=4321;int z;
y=x/1000;     /*result is 4*/
y1=x%1000/100;  /*result is 3*/
y2=x%1000%100/10; /*result is 2*/
y3=x%1000%100%10;  /*result is 1*/
/*save every bit in address*/
/*for repeat complex the No.*/
z=y*1000+y1*100+y2*10+y3;

حيدر علاج حسن
احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً gheas ( شكر العضو على هذه المشاركة )
اعجاب gheas ( أعجبته المشاركة )
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

فادى السعيد
:: مهندس جيد ::
تاريخ التسجيل: Apr 2009
المشاركات: 260
نشاط [ فادى السعيد ]
قوة السمعة:0
قديم 16-04-2016, 06:18 PM المشاركة 3   
افتراضي


مهندس حيدر الف شكر لك علي سرعه الرد
البيانات ذات طابع واحد ( اي انها متساويه بعدد المراتب )
ولكن انا عندي المتغير يزيد بمقدار 1 في المره
مثلا ++x حتي الوصول الي القيمه 4000 اريد تقسيمه وتخزينه في الابروم
والف شكر لك


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 16-04-2016, 08:07 PM المشاركة 4   
افتراضي


اذن استخدم نفس طريقة الكود الذي ذكرته لك ...
سيكون عندك 4 مراتب تخزن كل منها في سجل

حيدر علاج حسن

الصورة الرمزية gheas
gheas
:: مهندس متواجد ::
تاريخ التسجيل: May 2005
الدولة: https://t.me/pump_upp
المشاركات: 128
نشاط [ gheas ]
قوة السمعة:0
قديم 18-04-2016, 09:41 AM المشاركة 5   
افتراضي


كيف حفظ متغير من نوع int في الابروم

لان المتغير اكبر من البايت
وشكرا

السلام عليكم ورحمة الله وبركاته
اخي الكريم يتم الامر بتجزئة الرقم وتخزينه بالايبروم

كود:
   if(num<255)
   {
    x1=num;
    x2=0;
   }
   if(num>=255)
    {
     x1=255;
     x2=num-255;
    }
نخزن x1 & x2 في الايبروم
وبعد القرائة
كود:
num=x1+x2;


التعديل الأخير تم بواسطة : gheas بتاريخ 18-04-2016 الساعة 09:47 AM
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:15 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025