أنظمة الأرقام في البرمجة وطرق التحويل بينها
السلام عليكم ورحمة الله وبركاته
المقدمة
نحن البشر نعتمد على النظام العشري في حياتنا اليومية وهي الأرقام المحصورة بين 0 و 9
أما في عالم البرمجة فهناك أنظمة أخرى للأرقام تعتمد على الأرقام المحدودة والتي تختلف من نظام لآخر
مثل النظام الثنائي وهو الذي يعتمد على الرقمين 0 و 1 فقط
وهذا هو النظام الذي يستخدمه الجهاز ويفهمها
لأن الجهاز لا شيء سوى دوائر كهربائية تعمل بالتيار الكهربائي والتيار الكهربائي يمر أو لا يمر
لذا بناءً على هذا الأمر تم تطوير النظام الثنائي ليكون اللغة التي يفهمها الجهاز
بحيث أن الرقم 0 يعني أن التيار لن يمر والرقم 1 يعني أن التيار سيمر
وخذا هو الأساس لكل شيء في عالم الحاسوب والبرمجة
واستطعنا تمثيل الأرقام الصحيحة أو العشري بهذا النظام والعكس
فالرقم 2 في النظام الصحيح يكون 0010 في النظام الثنائي والرقم 5 يكون 0101 وهكذا
والجهاز عندما يرى 0101 يفهم أن هناك تيار كهربائي سيمر في الدائرة الأولى والثالثة فقط والباقي لن يمر فيها
وهكذا قلنا للجهاز أنك عندما ترى هذا النمط من الأرقام 0101 فهذا يعني الرقم 5
الآن نحن كبشر كيف نعرف أن الرقم 0101 يعني الرقم 5 ؟
كيف نحن نفهم الأرقام العشرية ؟
قبل أن نجيب على هذا السؤال يجب أن نفهم كيف نحن البشر نتعامل مع الأرقام الصحيحة أو العشرية
بمعنى أننا نفهم فقط الأرقام التالية 0 و 1 و 2 و 3 و 4 و 5 و 6 و 7 و 8 و 9
نحن فقط نعرف الأرقام التي تتكون من الأرقام السابقة والتي تكون مزيج منها
مثل أن 24 هو مزيج من الرقم 2 و 4 وأن 495 هو مزيج من الرقم 4 و 9 و 5
ونحن عندما نرى رقمًا مثل 24 نحن نقول أن هذا الرقم يتكون من 4في خانة الآحاد و 2 في خانة العشرات
و 495 تعنى 5 في خانة الآحاد و 9 في خانة المئات و 4 في خانة العشرات
وهكذا نحن نعرف كيف نقرأ الأرقام الصحيحة ونعرف كيف نفهمها
ولتبسيط الأمر يمكنك تخيل الأمر كجدول
| العدد | الآحاد | العشرات | المئات | الآلاف |
|---|---|---|---|---|
| 24 | 4 | 2 | 0 | 0 |
| 495 | 5 | 9 | 4 | 0 |
| 1687 | 7 | 8 | 6 | 1 |
هنا في حيلة وهي أن خانة الآحاد تعني أن الرقم الموضوع فيه يضرب في 10 أس 0
وخانة العشرات تعني أن الرقم الموضوع فيه يضرب في 10 أس 1
وخانة المئات تعني أن الرقم الموضوع فيه يضرب في 10 أس 2
بمعنى أن رقم 24 لديه 4 في خانة الآحاد و 2 في خانة العشرات
اضرب 4 في 10 أس 0 ستحصل على 4 * 1 = 4
واضرب 2 في 10 أس 1 ستحصل على 2 * 10 = 20
اجمع الناتجين 4 + 20 = 24 ستحصل على الرقم الصحيح 24
نفس الشيء مع الرقم 495
- العدد
5في خانة الآحاد يعني5 * 100= 5 - العدد
9في خانة العشرات يعني9 * 101 = 90 - العدد
4في خانة المئات يعني4 * 102 = 400
اجمع النواتج 5 + 90 + 400 = 495 ستحصل على الرقم الصحيح 495
نفس الشيء مع الرقم 1687
- العدد
7في خانة الآحاد يعني7 * 100 = 7 - العدد
8في خانة العشرات يعني8 * 101 = 80 - العدد
6في خانة المئات يعني6 * 102 = 600 - العدد
1في خانة الآلاف يعني1 * 103 = 1000
اجمع النواتج 7 + 80 + 600 + 1000 = 1687 ستحصل على الرقم الصحيح 1687
هكذا نحن البشر نفهم ونمثل الأرقام الصحيحة ونعرف كيف نقرأها
الآن نسأل سؤال جديد كيف نفهم الأرقام الثنائية ؟
تحويل الأرقام الثنائية إلى صحيحة
هذه الطريقة تساعدنا على ترجمة الأرقام الثنائية إلى أرقام صحيحة والعكس
فمثلًا الرقم الثنائي 0101 يمثل الرقم الصحيح 5 كيف عرفنا ذلك؟
لنقم بتحليل الرقم الثنائي 0101
تخيله مثل ما تخيلنا الرقم الصحيح 24
الرقم 24 كان يتكون من 4 في خانة الآحاد و 2 في خانة العشرات
هنا مع الرقم الثنائي 0101 نفهمه بنفس الطريقة
فهو يتكون من 1 في خانة الآحاد و 0 في خانة العشرات و 1 في خانة المئات و 0 في خانة الآلاف
| الرقم الثنائي | الآحاد | العشرات | المئات | الآلاف |
|---|---|---|---|---|
| 0101 | 1 | 0 | 1 | 0 |
لكن في النظام الثنائي نحن نعتمد على الأساس 2 بدلًا من 10
لذا كل خانة هنا تمثل الرقم 2 أس موقعها من اليمين إلى اليسار
بمعنى أن الخانة الأولى من ناحية اليمين تمثل 2 أس 0هكذا 20
والثانية تمثل 21 والثالثة تمثل 22 وهكذا
بالتالي لتحويل 0101 إلى رقم صحيح نقوم بضرب كل خانة بـ 2 أس موقعها ونجمع النواتج
- فالخانة الأولى قيمتها
1لذا عند ضربها بـ20يكون الناتج1 * 20 = 1 - الخانة الثانية قيمتها
0لذا عند ضربها بـ21يكون الناتج0 * 21 = 0 - الخانة الثالثة قيمتها
1لذا عند ضربها بـ22يكون الناتج1 * 22 = 4 - الخانة الرابعة قيمتها
0لذا عند ضربها بـ23يكون الناتج0 * 23 = 0
نجمع كل النواتج التي حصلنا عليها 1 + 0 + 4 + 0 = 5 وهذا يعني أن الرقم الثنائي 0101 يمثل الرقم الصحيح 5
بالطبع في الثنائي نحن لا نقول آحاد و عشرات و مئات و آلاف بل نقول الخانة الأولى و الثانية و الثالثة و الرابعة وهكذا
لأن الآحاد والعشرات والمئات والآلاف تكون في النظام العشري وليس الثنائي
أما في الثاني فهي تعتمد فقط على هل الحانة المعينة تحتوي على الرقم 1 أم 0 فقط
حاول دائمًا تخيل جدول وتكتب تحت كل خانة الأساس الذي يجب ضرب الرقم فيه لتحصل على الرقم الصحيح
هكذا:
| الرقم الثنائي | 1 | 0 | 1 | 0 |
|---|---|---|---|---|
| تسلسل الخانات | 20 | 21 | 22 | 23 |
| المعادلة | 1 * 20 | 0 * 21 | 1 * 22 | 0 * 23 |
| الناتج | 1 | 0 | 4 | 0 |
نجمع النواتج 1 + 0 + 4 + 0 = 5 وهذا يعني أن الرقم الثنائي 0101 يمثل الرقم الصحيح 5
ماذا عن 1101101 ؟ هل تستطيع تحويله إلى رقم صحيح ؟
| الرقم الثنائي | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
|---|---|---|---|---|---|---|---|
| تسلسل الخانات | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| المعادلة | 1 * 20 | 0 * 21 | 1 * 22 | 1 * 23 | 0 * 24 | 1 * 25 | 1 * 26 |
| الناتج | 1 | 0 | 4 | 8 | 0 | 32 | 64 |
نجمع النواتج 1 + 0 + 4 + 8 + 0 + 32 + 64 = 109 وهذا يعني أن الرقم الثنائي 1101101 يمثل الرقم الصحيح 109
تحويل الأرقام الصحيحة إلى ثنائية
هنا سنقوم بعملية عكسية لتحويل الأرقام الصحيحة إلى الأرقام الثنائية
لاحظ أننا في النظام العشري نحن نقوم بالضرب بـ 10 أس موقع الرقم لنحصل على الرقم الصحيح
فمثلا عندما كان لدينا رقم مثل 495 فهذا يعني أننا قمنا بضرب الرقم في خانة الآحاد 5 بـ 10 أس 0 والعشرات 9 بـ 10 أس 1 والمئات 4 بـ 10 أس 2
وبجمعهم نحصل على الرقم الصحيح 495 هكذا 400 + 90 + 5 = 495
نستطيع عمل نفس الشيء بشكل عكسي بالقسمة على 10 لنحصل على خانات الآحاد والعشرات والمئات والآلاف وهكذا
مثال على الرقم 495
495 / 10 = 49.5باقي القسمة5و العدد الصحيح4949 / 10 = 4.9باقي القسمة9و العدد الصحيح44 / 10 = 0.4باقي القسمة4و العدد الصحيح0
حصلنا على الأرقام 5 و 9 و 4 وهي بالترتيب خانات الآحاد والعشرات والمئات
هكذا كأنك رجعت الرقم 495 إلى خاناته الأصلية 5 و 9 و 4 في النظام العشري وهو الشكل العشري له كقيم آحاد وعشرات ومئات
وإن كنت لا تعرف ما هي باقي القسمة فلقد شرحناها في مقالة العمليات الحسابية والمنطقية في البرمجة
أرجو أن تقرأ الجزء الخاص بباقي القسمة لأننا سنستخدمها كثيرًا هنا
نفس الشيء يمكننا فعله مع الأرقام الثنائية
يمكنك فعل القسمة على 2 بدلًا من 10 لأن النظام الثنائي يعتمد على الأساس 2
لذا عندما تريد تحويل رقم مثل 495 إلى رقم ثنائي تقوم بالقسمة على 2 وتحتفظ بباقي القسمة في كل خطوة
نكرر العملية حتى نحصل على الناتج 0 كرقم صحيح
هكذا سترجع الرقم 495 إلى شكله في النظام الثنائي
لنرى مثال بسيط على ذلك
مثال لنحول الرقم 13 إلى رقم ثنائي
سنقوم بقسمة 13 على 2 ونحتفظ بباقي القسمة في كل خطوة والذي سيكون 1 لأن 13 % 2 = 1
ثم ناتج القسمة الصحيح من 13 / 2 وهو 6 نقسمه على 2 وهكذا نكرر حتى نحصل على الناتج 0 كرقم صحيح
13 / 2 = 6.5باقي القسمة1و العدد الصحيح66 / 2 = 3باقي القسمة0و العدد الصحيح33 / 2 = 1.5باقي القسمة1و العدد الصحيح11 / 2 = 0.5باقي القسمة1و العدد الصحيح0
بما أن الناتج أصبح 0 فإننا نتوقف لأن 0 / 2 يعطينا 0 دائمًا وباقي القسمة يكون 0 أيضًا
نقوم بكتابة كل باقي قسمة جمعناها من اليمين لليسار لنحصل على الرقم الثنائي 1101 وهو يمثل الرقم الصحيح 13 فعلًا
هكذا أنت حولت الرقم الصحيح 13 إلى الرقم الثنائي 1101
بمعنى أنك بالقسمة على 2 أنت حولته للشكله في النظام الثنائي
مثل ما كنت ستفعل بالقسمة على 10 لتحويله للشكله في النظام العشري كقيم آحاد وعشرات ومئات
يمكنك أيضًا عمل جدول لتسهيل العملية
| الرقم | المعادلة | باقي القسمة | العدد الصحيح |
|---|---|---|---|
| 13 | 13 / 2 = 6.5 |
1 | 6 |
| 6 | 6 / 2 = 3 |
0 | 3 |
| 3 | 3 / 2 = 1.5 |
1 | 1 |
| 1 | 1 / 2 = 0.5 |
1 | 0 |
نقوم بكتابة الأرقام التي جمعناها من اليمين لليسار 1101 وهو بالطبع الرقم 13 في النظام الثنائي
مثال آخر لنحول الرقم 109 إلى رقم ثنائي
| الرقم | المعادلة | باقي القسمة | العدد الصحيح |
|---|---|---|---|
| 109 | 109 / 2 = 54.5 |
1 | 54 |
| 54 | 54 / 2 = 27 |
0 | 27 |
| 27 | 27 / 2 = 13.5 |
1 | 13 |
| 13 | 13 / 2 = 6.5 |
1 | 6 |
| 6 | 6 / 2 = 3 |
0 | 3 |
| 3 | 3 / 2 = 1.5 |
1 | 1 |
| 1 | 1 / 2 = 0.5 |
1 | 0 |
نقوم بكتابة الارقام التي جمعناها من اليمين لليسار لنحصل على الرقم الثنائي 1101101 وهو يمثل الرقم الصحيح 109
مثال آخر لنحول الرقم 495 إلى رقم ثنائي
| الرقم | المعادلة | باقي القسمة | العدد الصحيح |
|---|---|---|---|
| 495 | 495 / 2 = 247.5 |
1 | 247 |
| 247 | 247 / 2 = 123.5 |
1 | 123 |
| 123 | 123 / 2 = 61.5 |
1 | 61 |
| 61 | 61 / 2 = 30.5 |
1 | 30 |
| 30 | 30 / 2 = 15 |
0 | 15 |
| 15 | 15 / 2 = 7.5 |
1 | 7 |
| 7 | 7 / 2 = 3.5 |
1 | 3 |
| 3 | 3 / 2 = 1.5 |
1 | 1 |
| 1 | 1 / 2 = 0.5 |
1 | 0 |
نقوم بكتابة الارقام التي جمعناها من اليمين لليسار لنحصل على الرقم الثنائي 111101111 الذي يمثل الرقم الصحيح 495
ماذا عن الأنظمة الأخرى ؟
لنتخيل وجود نظام رباعي مثلًا يعتمد على الأرقام 0 و 1 و 2 و 3 فقط
هل يمكننا تحويل الأرقام الصحيحة إلى هذا النظام ؟
الجواب نعم يمكننا ذلك بالطبع
أحضر أي رقم صحيح وليكن 495 ثم قم بالقسمة على 4 بدلًا من 10 لتحصل على الرقم الصحيح في النظام الرباعي
495 / 4 = 123.75باقي القسمة3و العدد الصحيح123123 / 4 = 30.75باقي القسمة3و العدد الصحيح3030 / 4 = 7.5باقي القسمة2و العدد الصحيح77 / 4 = 1.75باقي القسمة3و العدد الصحيح11 / 4 = 0.25باقي القسمة1و العدد الصحيح0
نقوم بكتابة الأرقام التي جمعناها من اليمين لليسار لنحصل على الرقم في النظام الرباعي 13233 وهو يمثل الرقم الصحيح 495 فعلًا
والرقم 13233 يمثل الرقم الصحيح 495 في النظام الرباعي
يمكننا إثبات هذا بمحاولة تحويل 13233 إلى النظام العشري
| الرقم الرباعي | الخانة الأولى | الخانة الثانية | الخانة الثالثة | الخانة الرابعة | الخانة الخامسة |
|---|---|---|---|---|---|
| 13233 | 3 | 3 | 2 | 3 | 1 |
هنا نقوم بضرب كل خانة بـ 4 أس موقعها ونجمع النواتج
- الخانة الأولى
3نضربها بـ40يعطينا3 - الخانة الثانية
3نضربها بـ41يعطينا12 - الخانة الثالثة
2نضربها بـ42يعطينا32 - الخانة الرابعة
3نضربها بـ43يعطينا192 - الخانة الخامسة
1نضربها بـ44يعطينا256
نجمع النواتج 3 + 12 + 32 + 192 + 256 = 495 وهذا يعني أن الرقم الرباعي 13233 يمثل الرقم الصحيح 495
هكذا يمكننا تحويل الأرقام الصحيحة إلى أي نظام نريده بالقسمة على الأساس الذي نريده والعكس
الأنظمة الأساسية في البرمجة
في عالم البرمجة نحن نعتمد على 4 أنظمة أساسية وهي النظام الثنائي و النظام العشري و النظام الثماني و النظام السداسي العشري
وهذه الأنظمة تعتبر الأساس في عالم البرمجة والحاسوب
بالإنجليزية تسمى هذه الأنظمة كالتالي:
- النظام الثنائي :
Binary System - النظام العشري :
Decimal System - النظام الثماني :
Octal System - النظام السداسي العشري :
Hexadecimal System
حيث أن:
- نظام الـ
Binaryيعتمد على الأرقام0و1فقط وهو للأساس2لأنه يعتمد على رقمين فقط - نظام الـ
Decimalيعتمد على الأرقام0و1و2و3و4و5و6و7و8و9وهو للأساس10لأنه يعتمد على10أرقام - نظام الـ
Octalيعتمد على الأرقام0و1و2و3و4و5و6و7وهو للأساس8لأنه يعتمد على8أرقام - نظام الـ
Hexadecimalيعتمد على الأرقام0و1و2و3و4و5و6و7و8و9وAوBوCوDوEوFوهو للأساس16لأنه يعتمد على16رقم
لاحظ أن في النظام الـ Hexadecimal نحن نستخدم الأرقام A و B و C و D و E و F لتمثيل الأرقام 10 و 11 و 12 و 13 و 14 و 15 على التوالي
وبالطبع يمكنك تحويل من أي نظام إلى أي نظام آخر بالقسمة على الأساس الذي تريده والعكس
فمثلًا يمكنك تحويل الرقم 495 من النظام الـ Decimal إلى النظام الـ Hexadecimal بالقسمة على 16
495 / 16 = 30.9375باقي القسمة15و العدد الصحيح3030 / 16 = 1.875باقي القسمة14و العدد الصحيح11 / 16 = 0.0625باقي القسمة1و العدد الصحيح0
نقوم بكتابة الأرقام التي جمعناها من اليمين لليسار لنحصل على الرقم في النظام الـ Hexadecimal هكذا 1EF
ولاحظ أن 15 تمثل الرقم F في النظام الـ Hexadecimal و 14 تمثل الرقم E لذالك كتبنا الرقم بهذا الشكل 1EF
نستطيع تحويله وارجاعه إلى النظام الـ Decimal لنتأكد من صحة التحويل بالضرب بالأساس 16
| الرقم الـ Hexadecimal | الخانة الأولى | الخانة الثانية | الخانة الثالثة |
|---|---|---|---|
| 1EF | F | E | 1 |
هنا نقوم بضرب كل خانة بـ 16 أس موقعها ونجمع النواتج
- الخانة الأولى
Fنضربها بـ160يعطينا15 * 160 = 15 - الخانة الثانية
Eنضربها بـ161يعطينا14 * 161 = 224 - الخانة الثالثة
1نضربها بـ162يعطينا1 * 162 = 256
نجمع النواتج 15 + 224 + 256 = 495 وهذا يعني أن الرقم1EF هو الرقم 495 لكن في النظام الـ Hexadecimal
تحويل الأرقام من النظام الـ Hexadecimal إلى النظام الـ Binary
هناك طريقتين لتحويل الرقم من النظام الـ Hexadecimal إلى النظام الـ Binary
الطريقة الأولى تعتمد على تحويل الرقم إلى النظام الـ Decimal ثم من الـ Decimal إلى الـ Binary
والطريقة الثانية تعتمد على تحويل الرقم مباشرة من الـ Hexadecimal إلى الـ Binary
الطريقة الأولى تعتمد على القواعد السابقة التي تعلمتها
لنحول الرقم 1EF إلى النظام الـ Binary
أولًا نحول الرقم 1EF إلى النظام الـ Decimal
- الخانة الأولى
Fنضربها بـ160يعطينا15 * 160 = 15 - الخانة الثانية
Eنضربها بـ161يعطينا14 * 161 = 224 - الخانة الثالثة
1نضربها بـ162يعطينا1 * 162 = 256
نجمع النواتج 15 + 224 + 256 = 495 وهذا يعني أن الرقم 1EF يمثل الرقم 495 في النظام الـ Decimal
الآن نحول الرقم 495 إلى النظام الـ Binary
495 / 2 = 247.5باقي القسمة1و العدد الصحيح247247 / 2 = 123.5باقي القسمة1و العدد الصحيح123123 / 2 = 61.5باقي القسمة1و العدد الصحيح6161 / 2 = 30.5باقي القسمة1و العدد الصحيح3030 / 2 = 15باقي القسمة0و العدد الصحيح1515 / 2 = 7.5باقي القسمة1و العدد الصحيح77 / 2 = 3.5باقي القسمة1و العدد الصحيح33 / 2 = 1.5باقي القسمة1و العدد الصحيح11 / 2 = 0.5باقي القسمة1و العدد الصحيح0
نقوم بكتابة الأرقام التي جمعناها من اليمين لليسار لنحصل على الرقم الـ Binary وهو 111101111 وهو يمثل الرقم 495
والذي يمثل الرقم 1EF في النظام الـ Hexadecimal أيضًا
لذا معلومة بسيطة هنا، بما أن 1EF يمثل الرقم 495 في النظام الـ Hexadecimal
بالتالي إذا كان تحويل 495 إلى النظام الـ Binary يعطينا الرقم 111101111
فإن تحويل 1EF إلى النظام الـ Binary يعطينا نفس الرقم 111101111
الطريقة الثانية لتحويل الرقم من الـ Hexadecimal إلى الـ Binary تعتمد على معرفة الأرقام الـ Hexadecimal وما يمثلها في الـ Binary
فمثلًا الرقم 1 يمثل 0001 والرقم 2 يمثل 0010 و 3 يمثل 0011 وهكذا
وهذا الجدول يوضح الأرقام الـ Hexadecimal وما تمثله في الـ Binary
| الرقم الـ Hexadecimal | الرقم الـ Binary |
|---|---|
| 0 | 0000 |
| 1 | 0001 |
| 2 | 0010 |
| 3 | 0011 |
| 4 | 0100 |
| 5 | 0101 |
| 6 | 0110 |
| 7 | 0111 |
| 8 | 1000 |
| 9 | 1001 |
| A | 1010 |
| B | 1011 |
| C | 1100 |
| D | 1101 |
| E | 1110 |
| F | 1111 |
هنا الرقم 1 يمثل 0001 و E والذي يمثل 14 يمثل 1110 و F والذي يمثل 15 يمثل 1111
| الرقم الـ Hexadecimal | F | E | 1 |
|---|---|---|---|
| الرقم الـ Binary | 1111 | 1110 | 0001 |
نكتب الأرقام بجانب بعضها لنحصل على الرقم الـ Binary 000111101111 وهو يمثل الرقم 1EF في النظام الـ Hexadecimal
وهو نفس الرقم الذي حصلنا عليه بالطريقة الأولى وتذكر أن الأصفار الزائدة التي على اليسار لا تؤثر على الرقم نفسه
تحويل الأرقام من النظام الـ Binary إلى النظام الـ Hexadecimal
وبالطبع يمكنك فعل ذلك بالعكس أيضًا أي تحويل الرقم الـ Binary إلى الرقم الـ Hexadecimal بنفس الطريقة
مثال على ذلك تحويل الرقم الـ Binary 1101101 إلى الرقم الـ Hexadecimal
فقط قسم الرقم الـ Binary إلى مجموعات من 4 أرقام وقم بتحويل كل مجموعة إلى الرقم الـ Hexadecimal
بالتالي الرقم الـ Binary 1101101 يمكن تقسيمه إلى 1101 و 0110
والرقم 1101 يمثل الرقم 13 والذي يمثل الرقم D في النظام الـ Hexadecimal
والرقم 0110 يمثل الرقم 6
هكذا تكون النتيجة النهائية 6D
يمكنني عرضها في جدول لتوضيح الفكرة
| الرقم الـ Binary | 1101 | 0110 |
|---|---|---|
| الرقم الـ Hexadecimal | D | 6 |
لنأخذ مثال آخر على تحويل الرقم 1011100010010111 من الـ Binary إلى الـ Hexadecimal
نقوم بتقسيم الرقم إلى مجموعات من 4 أرقام كما في الجدول التالي
| الرقم الـ Binary | 0111 | 1001 | 1000 | 1011 |
|---|---|---|---|---|
| الرقم الـ Hexadecimal | 7 | 9 | 8 | B |
نكتب الأرقام بجانب بعضها لنحصل على الرقم الـ Hexadecimal B897 وهو يمثل الرقم 1011100010010111 في النظام الـ Binary
خاتمة
كنت أود أن اعطيك أمثله أخرى على التحويلات لكنني اكتفيت بإعطائك الفكرة العامة
قد أكون فوت بعض الحيل في التخويلات لكن لا بأس المهم تكون الفكرة وصلت بشكل مبسط
ويمكننا تلخيص ما سبق في الجدول التالي
| النظام | الأرقام | الأساس | تسلسل الخانات |
|---|---|---|---|
| Binary | 0، 1 | 2 | 2^0، 2^1، 2^2، 2^3، ... |
| Decimal | 0، 1، 2، 3، 4، 5، 6، 7، 8، 9 | 10 | 10^0، 10^1، 10^2، 10^3، ... |
| Octal | 0، 1، 2، 3، 4، 5، 6، 7 | 8 | 8^0، 8^1، 8^2، 8^3، ... |
| Hexadecimal | 0، 1، 2، 3، 4، 5، 6، 7، 8، 9، A، B، C، D، E، F | 16 | 16^0، 16^1، 16^2، 16^3، ... |
وبالتالي يمكنك تحويل الأرقام بين هذه الأنظمة كما وضحنا سابقًا عن طريق القسمة على الأساس الذي تريده
أو يمكنك تحويل الأرقام من أي نظام إلى النظام الـ Decimal ثم من الـ Decimal إلى النظام الآخر الذي تريده
كنظام وسيط للتحويل بين الأنظمة
يمكننا إنشاء جدول بسيط يوضح التحويلات من النظام الـ Binary إلى النظام الـ Decimal والنظام الـ Octal والنظام الـ Hexadecimal والعكس
| النظام الـ Decimal | النظام الـ Binary | النظام الـ Octal | النظام الـ Hexadecimal |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
أتمنى أن تكون الفكرة وصلت وأن تكون قد استفدت من هذا المقال