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

   

الصورة الرمزية ghars
ghars
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2016
المشاركات: 60
نشاط [ ghars ]
قوة السمعة:
قديم 09-12-2016, 11:46 PM المشاركة 25   
افتراضي



بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته

اخى العزيز للحصول على الرقم السالب كما يخزنه الحاسب او الميكرو طبعا تجرى عدة خطوات , شرحها كالتالى :

مثال : للحصول على صيغة الرقم ( 7- ) نتبع التالى :
1- نكتب الصيغة الموجبة للرقم : 00000111
2- نقلب كل 1 الى 0 و العكس و تسمى هذه العملية المتمم (one's complement) فيصبح الرقم : 11111000 .
3- نجمع على الرقم السابق + 1 فقط فيصبح الناتج : 11111001 و يكون هذا هو ما يمثل الرقم ( 7- ) .
العملية 2 و 3 مع بعض اسمهم المكمل او (tow's complement)


يمكنك التاكد بالالة الحاسبة للكمبيوتر من النتيجة , و اغرب رقم له سالب هو رقم 1 , حيث صيغته هى 0xFF و معناها 1- حاول اثباتها بنفس الخطوات .
شكرا جزيلا
ءجابۃ شافيۃ و كافيۃ

اعلانات

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 27-01-2017, 12:02 PM المشاركة 26   
sun


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

اهلا اخوانى بفضل الله جئتكم بخدعة اخرى من خدع لغة السي التى تؤدى الى خطأ فى البرنامج ولا يكتشفه المترجم و لا تكتشفه انت .

اليكم البرنامج التالى , و ان شاء الله اريد ما سيطبعه البرنامج فى كل مقارنة ,
و بعد اجاباتكم ان شاء الله سأشرح الاجابة الصحيحة , البرنامج مقسم الى 3 اجزاء ارجو كتابة رقم الجزء ثم اجابته :


كود:


//        PART (1)
         char p = -100;  
         int  r = 0;
         if ( p > r) { printf(" p > r ");}
         else        { printf(" r > p ");}
  //-----------------------------------
 //          PART (2)
         int i = -100; 
         unsigned int j = 0;
         if ( i > j) { printf(" i > j "); }
         else        { printf(" j > i "); }
  //-----------------------------------
 //        PART (3)
         char k = -100; 
         unsigned int m = 0;
         if ( k > m) { printf(" k > m ");}
         else        { printf(" m > k ");}

و الله الموفق و هو نعم المولى و نعم النصير

اللهم اجعل القران ربيع قلبى




اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 28-01-2017, 12:57 PM المشاركة 27   
sun


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

قمت بتعديل المشاركة السابقة لتلائم اكواد انظمة الميكرو سي ,
اهلا اخوانى بفضل الله جئتكم بخدعة اخرى من خدع لغة السي التى تؤدى الى خطأ فى البرنامج ولا يكتشفه المترجم و لا تكتشفه انت .

اليكم البرنامج التالى , و ان شاء الله اريد ما سيطبعه البرنامج فى كل مقارنة ,
و بعد اجاباتكم ان شاء الله سأشرح الاجابة الصحيحة , البرنامج مقسم الى 3 اجزاء ارجو كتابة رقم الجزء ثم اجابته :




كود:

   //        PART (1)
        char p = -100;
        int  r = 0;
        if ( p > r) { LCD_OUT("p > r ");}
        else        { LCD_OUT("r > p ");}
 //-----------------------------------
//          PART (2)
        int i = -100;
        unsigned int j = 0;
        if ( i > j) { LCD_OUT("i > j "); }
        else        { LCD_OUT("j > i "); }
 //-----------------------------------
//        PART (3)
        char k = -100;
        unsigned int m = 0;
        if ( k > m) { LCD_OUT("k > m ");}
        else        { LCD_OUT("m > k ");}
و الله الموفق و هو نعم المولى و نعم النصير

اللهم اجعل القران ربيع قلبى




مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 29-01-2017, 11:29 AM المشاركة 28   
sun


واضح ان الاجابة سهلة جدا لذلك لا احد حاول فيها , مع انها تعبتنى حتى اعرف الاجابة الصحيحة .

لذلك سأجيب عن الجزء الثانى فقط :

عند مقارنة 100- و صفر فى المتغيران i و j على التوالى فان ناتج المقارنة (i > j ) سيكون TRUE اى ان 0 < 100- و بالتالى سيطبع i > j

و خطورة هذا الامر انها نتيجة غير متوقعة لكثير من المبرمجين .

و الله ولى التوفيق



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