الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال مقارنة الأعداد In Hex

بدأه استثنائيه في 24 يناير 2010 · 1 رد · 710 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذا السؤال كانت الأستاذة قد شرحته لنا , و عندي استفسار عنه

لدينا هذه الأعداد على نظام 16 , و سنرتبها ترتيب تصاعدي

FFFC , 2194 , FE31 , 034D , D872

اختبرنا الـ msb لأول رقم من جميع الأعداد , الأعداد باللون الأحمر الـmsb لها صفر إذن هي موجبة , البقية ستكون سالبة

كان حل السؤال بهذا الشكل

D872 < FE31 < FFFC < 034D < 2194

لماذا وضعت D872 < FE31 ؟

-7 < -6 لأنهم اعداد سالبة , لماذا لا يكون هنا نفس الشيء ؟

كيف أصبح FE31 أكبر من D872 و هما عددين سالبين ؟

#2

لابد أن تذكر الـ representation المستخدم لتمثيل الأعداد السالبة, في الغالب هو الـ two's complement.

لابد أن تفهم كيف يتم تمثيل العدد السالب أولاً, و إلا كيف ستحل المسألة؟

بكل بساطة:

|(FE31)16| = (463)10
|(D872)16| = (10126)10
==>
       (FE31)16 = -463
       (D872)16 = -10126

==>
        FE31 > D872

قمنا بأخذ القيمة المطلقة للعددين, و اتضح أن القيمة المطلقة للعدد FE31 أصغر من القيمة المطلقة للعدد D872, بما أن تلك الأعداد سالبة, إذاً, فالعدد FE31 أكبر من D872.

كما قلت لك في البداية, لابد أن تفهم كيفية تحويل العدد السالب إلى "موجب" للحصول على قيمته المطلقة أولاً.

تحياتي,

1

مواضيع مشابهة