مقدمة في نظام العد الستة عشري (Hexadecimal number)
تعريف نظام العد الستة عشري Hexadecimal numeral system وماهي إستخداماته؟ - وكيفية تحويل الأرقام من النظام الثنائي إلى النظام الستة عشري، والعكس
كنا قد تحدثنا سابقا عن نظام العد الثنائي، وأن كل وحدة (رمز) من رموز العدد الثنائي تسمى "بت" bit، وللعلم أن أقل وحدة مستخدمة في أجهزة الكمبيوتر هي الـ "بايت" Byte، والبايت تساوي 8 بت (8bit)، وهي وحدة القياس الأساسية الشائع إستخدامها في معظم الأجهزة الإلكترونية الحديثة، حيث تستخدم ومضاعفاتها من الكيلوبايت، الميجابايت، الجيجابايت، التيرابايت ...........إلخ.
ماهو نظام العد الستة عشري؟ ولماذا أتعلمه؟
أولا: نظام العد الستة عشري سمي بذلك لأنه يحتوي على 16 (ستة عشر) رمزا لتمثيله (كتابته)، وهم بالترتيب من الرمز الأصغر (0 - صفر) إلى الرمز الأكبر (F).
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
وسوف تلاحظ إستخدام الرموز من 0 - 9، وإستخدام أول ستة حروف لاتينية لتمثيل باقي الأعداد الأكبر من 9، ويمكن كتابتهم بحروف صغيرة Lowercase أو حروف كبيرة Uppercase، وقيمتهم تحدد كالتالي:
- A16 = 1010
- B16 = 1110
- C16 = 1210
- D16 = 1310
- E16 = 1410
- F16 = 1510
ثانيا: نتعلم نظام العد الستة عشري لإستخدامه كوسيط لنظام العد الثنائي، وذلك لأن رقم الأساس 16 هو أحد مضاعفات رقم الأساس 2 (24) وبالتالي يكون إستخدامه أسهل في كتابة الأرقام الكبيرة ذات رقم الأساس 2، وبما أن رقم الأساس 16 يمثل أربعة أضعاف رقم الأساس 2 فإن كل 4 (أربعة) رموز من النظام الثنائي تمثل رمز واحد في النظام الستة عشري، فمثلا الرقم 111100002 (والذي يساوي 24010 في النظام العشري) يمكن كتابته F016 وبالتالي نحن كبشر يسهل علينا كتابة أو قراءة رمزين بدلا من 8 رموز .
لتمييز الأرقام المكتوبة بنظام العد الستة عشري يتم إضافة تحت بادئة (subscript) للرقم مثال FF16 أو يمكن إضافة 0x قبل الرقم مثال 0xFF وهي طريقة شائعة في معظم لغات البرمجة.
بما أن نظام العد الستة عشري يعتبر وسيط لنظام العد الثنائي، فيجب علينا أن نتعلم كيفية تحويل الأرقام من النظام الثنائي إلى النظام الستة عشري والعكس.
تحويل رقم من النظام الستة عشري إلى النظام الثنائي:
سوف نبدأ بتحويل الرقم 7E216 من نظام العد الستة عشري إلى النظام الثنائي، كما تعرفنا سابقا أن كل رمز من رموز العدد الستة عشري هو عبارة عن 4 بت (4bit) فسوف نستبدل كل رمز بمرادفه من النظام الثنائي، ونبدأ من اليمين إلى اليسار، وفي حالة ما إذا كان الرقم الثنائي عدد خاناته أقل من 4 بت سوف نقوم بإضافة أصفار إلى يسار الرقم حتى تصبح عدد خانات الرقم 4bit، حيث أن الصفر إلى يسار الرقم لا يؤثر على قيمته، ونبدأ بالحل كالتالي:
216 | = | 210 | = | 102 | = | 00102 |
E16 | = | 1410 | = | 11102 | ||
716 | = | 710 | = | 1112 | = | 01112 |
= 0111 1110 0010 = 111111000102
بعد الإنتهاء من تحويل الرقم الستة عشري إلى رقم ثنائي Binary يمكنك إزالة أي صفر من يسار الرقم.
تحويل رقم من نظام العد الثنائي إلى نظام العد الستة عشري:
سوف نقوم بتحويل الرقم 11110100000010112 من رقم ذو أساس 2 إلى رقم ذو أساس 16، ويتم ذلك من خلال إتباع الخطوات التالية:
- نبدأ بقراءة الرقم من اليمين إلى اليسار
- نقوم بتجزئة الرقم إلى مجموعات، كل مجموعة مكونة من أربع خانات 4bit
- إذا كان عدد خانات آخر مجموعة أقل من أربعة خانات، نستكمل المجموعة بإضافة أصفار إلى يسار الأرقام حتى يصبح عدد الخانات يساوي 4bit
- نستبدل كل مجموعة بالرقم المرادف لها من رموز نظام العد الستة عشري
وبتطبيق الخطوات السابقة، يتم الحل كالتالي:
111 1010 0000 1011 = 0111 1010 0000 1011
10112 | = | 1110 | = | B16 |
00002 | = | 010 | = | 016 |
10102 | = | 1010 | = | A16 |
01112 | = | 710 | = | 716 |
= 7A0B16
وبذلك نكون قد تعرفنا على أساسيات نظام العد الستة عشري، في بداية تعلم أنظمة العد المختلفة قد تجد بعض من الصعوبة في تذكر مرادفات كل رقم من النظام العشري (وهو النظام الذي إعتدنا التعامل به في حياتنا اليومية)، ولكن بعد قليل من الوقت وبعد إجراء العديد من عمليات التحويل من النظام الثنائي أو الستة عشري، سوف تجدها سهلة وما هي إلا مجرد طريقة أخرى لتمثيل الأرقام التي إعتدنا عليها، ولتبسيط الأمر أكثر، يمكنك الرجوع إلى الجدول التالي الذي يعرض الستة عشر رمز ومرادفاتهم في نظام العد الثنائي والعشري والستة عشري:
العشري | الستة عشري | الثنائي |
010 | 016 | 00002 |
110 | 116 | 00012 |
210 | 216 | 00102 |
310 | 316 | 00112 |
410 | 416 | 01002 |
510 | 516 | 01012 |
610 | 616 | 01102 |
710 | 716 | 01112 |
810 | 816 | 10002 |
910 | 916 | 10012 |
1010 | A16 | 10102 |
1110 | B16 | 10112 |
1210 | C16 | 11002 |
1310 | D16 | 11012 |
1410 | E16 | 11102 |
1510 | F16 | 11112 |
ويمكنك تجربة تحويل أي رقم من النظام العشري إلى النظام السادس عشر، والتأكد من نتيجة التحويل التي قمت بها بإستخدام أداة التحويل من النظام العشري إلى النظام السادس عشر الخاصة بنا، مع العلم أنها تقوم أيضا بالتحويل إلى النظام الثماني والثنائي.