ما هو نظام العد الثنائي Binary
النظام الثنائي أو النظام العددي الثنائي بالإنجليزية Binary Numeral System، وتمَّ تسمية النظام الثنائي بذلك لأنَّه يستخدم رمزين لتمثيل الأعداد، وهم الرَّمز 0
والرمز 1
، وأحيانا يسمَّى نظام العدّ ذو رقم الأساس اثنين (Base 2).
وذلك لأنَّ النظام الثنائي يستخدم رقم الأساس 2، ويسمَّى كل رمز من الرُّموز المستخدمة في تمثيل العدد الثنائي بـ بت أو bit، فعلى سبيل المثال، الرقم 2(10110100) هو رقم في النظام الثنائي مكوَّن من ثمانية رموز، وبالتالي يصبح 8 بت أو كما تكتب بالإنجليزية 8bit، وعند قراءة أي رقم في نظام العدِّ الثنائي فإنَّنا نقوم بقراءة كل رمز منفرداً، فعلى سبيل المثال الرقم 2(100) يقرأ واحد صفر صفر أو يقرأ من اليمين صفر صفر واحد، ولا يقرأ مئة.
ما هي الفائدة من تعلم نظام العد الثنائي
كما تعلم (أو على الأقل قد سمعت) أنَّ الأجهزة الإلكترونية وأجهزة الحاسوب لا تفهم إلّا الصِّفر والواحد، حتى أنَّ الحروف والصور وغيرها من الملفات التي تتعامل معها بشكل يومي على أجهزة الكمبيوتر يتم تخزينها على شكل مجموعة من الرُّموز المكونة من الصِّفر والواحد، فإنَّ الصفر والواحد هما رمزان اثنان.
وبالتالي يمكن التعامل معهم بالطرق الحسابية عن طريق استخدام نظام العدِّ الثنائي، لكي تتمكَّن من معرفة كيف يقوم الكمبيوتر بتنفيذ الأوامر البرمجية، فإنَّه يتوجَّب عليك معرفة كيفية التعامل مع الأرقام باستخدام نظام العدِّ الثنائي.
التحويلات في النظام الثنائي
بما أنَّنا نحن البشر نعتمد على نظام العدِّ العشري كنظام أساسي للتعامل مع الأرقام، فإنَّه يتوجب علينا معرفة كيفية تحويل الأرقام من نظام العد الثنائي إلى نظام العدِّ العشري، أو تحويل الأرقام من النظام العشري إلى النظام الثنائي.
وبالطبع يوجد العديد من الأنظمة العددية التي يتم التعامل بها لاختصار الأعداد الثنائية، مثل نظام العد الستّة عشر، ونظام العد الثماني، وسوف نتناول كل منهم بالتفصيل في مقال مستقل.
كيفية تحويل النظام العشري للنظام الثنائي
سوف نستخدم الخطوات التي تمَّ شرحها في مقالة الأنظمة العددية، والتي تعتبر الخوارزمية الخاصَّة بتحويل الأعداد من النظام العشري إلى الثنائي، ولتوضيح طريقة تنفيذ الخوارزمية سوف نقوم بتحويل الرقم العشري 10(125.625) إلى الرَّقم المماثل له في النظام الثنائي، باستخدام خطوات الخوارزمية كالتالي:
تقسيم الرقم العشري إلى قسمين الأرقام الصحيحة والأرقام الكسرية
وفي هذا المثال الرَّقم الصحيح هو 125، والرَّقم الكسري هو 0.625
ثانيا: تحديد رقم الأساس
بما أنَّنا نريد تحويل الرَّقم إلى النِّظام الثنائي، فسوف نستخدم رقم الأساس 2
ثالثا: تحويل الجزء الصحيح من الرقم
وهنا سوف نقوم بقسمة الرقم الصحيح على رقم الأساس ونقوم بتسجيل الجزء الكسري من عملية القسمة، ثمَّ نقوم بقسمة الجزء الصحيح من النتيجة مرَّة أخرى على رقم الأساس، ونكرِّر ذلك حتى نحصل على صفر صحيح في النتيجة، ويتم ذلك كالتالي:
- نبدأ بقسمة الرقم 125 على رقم الأساس 2 لنحصل على الرقم 62.5 حيث يمثِّل ناتج القسمة الكسري (0.5)، وبضرب الناتج الكسري في رقم الأساس نحصل على الرَّقم
1
، وهو أوّل رمز من مكونات العدد الثنائي الذي نريد الحصول عليه.
يتبقَّى أن نقوم بكتابة الأرقام الثنائية التي حصلنا عليها من الخطوات السابقة بالترتيب الذي حصلنا عليه، وفي هذه الخطوة يجب كتابة الأرقام بشكل صحيح، ولكي يتم ذلك سوف نبدأ دائما من العلامة العشرية (الكسرية) التي تسمَّى بـ Radix Point، ولأنَّ الرَّقم الصحيح موجود فسوف نبدأ من على يسار العلامة الكسرية.
- وسوف تجد أنَّنا حصلنا في النهاية على النتيجة كالتالي 2(1111101.)
رابعا: تحويل الجزء الكسري من الرقم
وفي هذه الخطوة سوف نقوم بضرب الرَّقم الكسري في رقم الأساس، ونقوم بتسجيل الرَّقم الصحيح الناتج من عملية الضرب، ثمَّ نقوم بضرب الرَّقم الكسري من النتيجة السابقة في رقم الأساس، ونكرِّر هذه العملية حتى نحصل على الرقم صفر في الجزء الكسري من النتيجة، ويتم ذلك كالتالي:
- نبدأ بضرب الرقم 0.625 في رقم الأساس 2، لنحصل على النتيجة 1.25، وهنا يكون الرقم الصحيح
1
هو أول رمز من مكونات الجزء الكسري من الرّقم الثنائي.
وبكتابة الأرقام الثنائية التي حصلنا عليها بالترتيب ولكن من على يمين العلامة الكسرية، نحصل على الرّقم الثنائي 2(.101).
ملحوظة: في بعض الأحيان يكون الجزء الكسري رقم لا نهائي، على سبيل المثال الثلث (1/3)، عند كتابته في صورة رقم عشري يكتب (0.33333333 ….) وبالتالي عند تطبيق الخطوات السّابقة سوف تستمر في الحصول على نتائج غير الرّقم صفر، ولذلك عند تحويل أيٍّ من هذه الأرقام إلى أرقام ثنائية يتم التوقُّف بعد الحصول على عدد معين من الرموز الثنائية، وليكن 7 أرقام ثنائية، وتكون النتيجة هي تقريب للرَّقم الأساسي.
خامسا: كتابة الرقم الثنائي
وفي هذا المثال الرقم 10(125.625) في النظام العشري يساوي الرقم 2(1111101.101) في النظام الثنائي.
عادة لتبسيط عملية تحويل الرَّقم العشري إلى رقم في النظام الثنائي نقوم بإنشاء جدول بسيط يتكوَّن من ثلاثة خانات، لكل جزء من الرَّقم العشري، أي جدول للجزء الصحيح وجدول آخر للجزء الكسري، ونقوم بكتابة رقم الأساس في الخانة على اليسار، والرَّقم العشري في الخانة التي بالمنتصف، والخانة التي على يمين الجدول نكتب بها الرَّقم الثنائي الذي نحصل عليه، ولتوضيح ذلك سوف نستخدم مثال آخر.
تحويل الرّقم العشري 10(117.8125) إلى النظام الثنائي:
ومن هذا المثال نحصل على الرّقم الثنائي 2(1110101.1101) وهو يمثِّل قيمة الرَّقم العشري 10(117.8125).
معلومة مهمَّة، حتى لا يحدث خطأ أثناء كتابة الرَّقم الثنائي، يمكنك أن تسأل نفسك هل إذا وضعت صفر على يسار الرَّقم الصحيح سوف يؤثِّر على قيمته؟ بالطبع الإجابة هي لا، وبالنظر إلى الجدول (الجزء الصحيح) إذا قمت بإضافة خطوة أخرى، سوف تجد أنّ النتيجة هي صفر، وإذا أكملت خطوة أخرى سوف تحصل أيضا على صفر.
وبالتالي إذا قمت بترتيب الرّقم الثنائي من الأسفل إلى الأعلى سوف تكتبه من اليسار إلى اليمين، حيث الصِّفر على يسار الرّقم الصحيح لا يؤثِّر على قيمته، وبنفس الطريقة للجزء الكسري، إذا أكملت الخطوات سوف تحصل على نتيجة صفر، وفي حالة الرّقم الكسري الصِّفر على يمين الرّقم الكسري لا يؤثِّر على قيمته.
كيفية تحويل النظام الثنائي لنظام عشري
يوجد طريقتين للقيام بالتحويل من النظام العددي الثنائي إلى النظام العددي العشري.
الطريقة الأولى
وتتم باستخدام القانون التالي وهو:
(dndn-1...d1d0.d-1d-2...d-n)2 = (dn*2n + dn-1*2n-1 + ... + d1*21 + d0*20 + d-1*2-1 + d-2*2-2 + ... + d-n*2-n)10
سوف تلاحظ في القانون أنَّ كل رقم من مكونات الرَّقم الثنائي يرمز له بالرمز dn حيث الرَّمز d يرمز إلى الرقم والرمز n يرمز إلى ترتيب الرّقم، وسوف تلاحظ أنّ الترتيب يبدأ من نقطة العلامة الكسرية حيث يبدأ من على يسار العلامة الكسرية بالرّقم صفر.
ويزيد بمقدار 1 كلما اتجهنا إلى اليسار حتى نصل إلى الرَّقم n، وسوف تلاحظ أنَه عند يمين العلامة الكسرية ترتيب الرَّقم يبدأ من سالب واحد ثمَّ سالب 2 حتى -n.
ولكي تتمكَّن من فهم تطبيق هذا القانون سوف نقوم بتحويل رقم من النظام الثنائي إلى مثيله في النظام العشري، وليكن الرَّقم الثنائي 2(1101.01) = 10( ؟؟؟ )
- نجد أنَّ أول رقم على يسار العلامة الكسرية هو الرقم 1، نقوم بضرب الرقم في رقم الأساس مرفوعاً إلى أس وهو ترتيب الرّقم وفي هذه الحالة هو 0، (20)، ومن المعروف أنّ أيّ رقم مرفوعاً لأُس يساوي صفر فهو يساوي واحد، أي أنّ هذه الخطوة هي الرَّقم 1 مضروباً في الرقم واحد، والنتيجة هي 1.
- لتكون النتيجة هي (1 + 0 + 4 + 8 + 0 + 0.25) تساوي الرّقم العشري 10(13.25).
الطريقة الثانية
تعتبر هذه الطريقة طريقة مختصرة وتعتمد بالأساس على معرفتك المسبقة بمضاعفات الرَّقم 2، حيث نقوم في هذه الطريقة بحساب الوزن الخاص بكل خانة من خانات الرَّقم الثنائي، أو بمعنى أبسط نبدأ من يسار العلامة الكسرية ونقوم بإعطاء وزن لكل خانة، فنبدأ بالرَّقم 1، ثم 2، ثم 4، 8، 16، 32، 64، … وهكذا حتى آخر رقم إلى يسار العلامة، ثمَّ الأرقام على يمين العلامة نبدأ بـ 0.5، ثمّ 0.25، ثمّ 0.125، 0.0625، … وهكذا.
ثم نقوم بجمع الأوزان التي يقابلها الرّمز 1 في العدد الثنائي، ولتوضيح ذلك سوف نقوم بحل نفس المثال السّابق 2(1101.01) كالتالي:
وبجمع الأوزان لخانات الرّقم الثنائي التي تحتوي على الرّقم 1 تصبح النتيجة هي (0.25 + 1 + 4 + 8) تساوي 10(13.25) وهو الرّقم الذي حصلنا عليه بالطريقة الأولى.
لماذا تستخدم الحواسيب لغة ثنائية
- لأن الحواسيب هي أجهزة كهربائية تعمل على أساس إشارات كهربائية.
- تمثل الإشارة “0” جهدًا كهربائيًا منخفضًا، بينما تمثل الإشارة “1” جهدًا كهربائيًا مرتفعًا.
- من خلال استخدام هذين الرقمين فقط، يمكن للحواسيب معالجة المعلومات وتنفيذ العمليات الحسابية.
كيف يتم تحويل الأرقام العشرية إلى ثنائية
- هناك العديد من الطرق لتحويل الأرقام العشرية إلى ثنائية.
- إحدى الطرق هي استخدام نظام العد الثنائي.
- في نظام العد الثنائي، يُعطى كل خانة رقمًا 2 مرفوعًا إلى قوة معينة.
- على سبيل المثال، تُعطى الخانة الأولى رقمًا 2^0، بينما تُعطى الخانة الثانية رقمًا 2^1، وهكذا.
كيف يتم تحويل الأرقام الثنائية إلى عشرية
- هناك العديد من الطرق لتحويل الأرقام الثنائية إلى عشرية.
- إحدى الطرق هي استخدام نظام العد العشري.
- في نظام العد العشري، يُعطى كل خانة رقمًا 10 مرفوعًا إلى قوة معينة.
- على سبيل المثال، تُعطى الخانة الأولى رقمًا 10^0، بينما تُعطى الخانة الثانية رقمًا 10^1، وهكذا.
أمثلة على الأرقام الثنائية
- 0101 (خمسة في العشري)
- 1100 (اثنا عشر في العشري)
- 1001 (تسعة في العشري)
استخدامات لغة الحاسوب الثنائية
- تُستخدم لغة الحاسوب الثنائية في جميع أنواع الحواسيب، من الهواتف الذكية إلى أجهزة الكمبيوتر الكبيرة.
- تُستخدم لغة الحاسوب الثنائية لتخزين البيانات ومعالجتها.
- تُستخدم لغة الحاسوب الثنائية في كتابة البرامج وتطبيقات الحاسوب.