ما هو نظام العد الثنائي (0-1)؟

الأعداد الثنائية واستخداماتها.. الأصل والاستخدامات في مجال الكمبيوتر والحوسبة
الكاتب:علي حسن
تاريخ النشر: 23/10/2016
آخر تحديث: 08/11/2017
نظام العد الثنائي

عند مشاهدتك لفلم خيال علمي أو فلم يتعلق بالبرمجة والقرصنة أو على الأقل فلم (The Matrix) الشهير، لا بد أنك رأيت سلاسل طويلة مكونة من الرقمين 0 و 1 فقط مثل هذا: 01100001 01101001 01100100.

هل تتساءل عما تعنيه هذه السلاسل؟ تسمى هذه السلاسل بـ "الأعداد الثنائية" وسنقوم بشرحها بشكل مبسط في هذا المقال.

للوهلة الأولى تبدو السلاسل المكونة من رقمي 0 و 1 دون أي معنى، لكنها في الواقع أساس التكنولوجيا التي نستخدمها اليوم، ولولاها لما كان باستطاعتك قراءة كلمات هذا المقال على حاسبك الشخصي أو هاتفك الذكي.

1

ما هي الأعداد الثنائية؟

الأعداد الثنائية هي نظام عدّ مشابه من حيث المبدأ لنظام الأعداد العشري (الذي نستخدمه في حياتنا اليومية)، وهي واحدة من أنظمة العد التي وجدت عبر التاريخ.

كالنظام الست عشري والستيني وغيرها. تستخدم هذه الأعداد في الدارات الكهربائية والدارات المنطقية حيث أن جميع الحواسيب والأجهزة الإلكترونية والحاسوبية تقريباً مبنية على أساسها.

يُدعى كل رمز في سلسلة من الأعداد الثنائية بـ "بت" (bit)، وتشمل مضاعفاته الـ "بايت" (Byte) الذي يتضمن 8 بت، والأكبر منها ال ـ"كيلوبايت" (Kilobyte) والذي يساوي 1024 بايت.

والـ "ميغابايت" (Megabyte) الذي يساوي 1024 كيلو بايت وهكذا.

كيف تكتب الأعداد الثنائية وتحولها إلى أعداد عادية؟

من حيث المبدأ، الأعداد الثنائية والعشرية والست عشرية متشابهة جداً فجميعها تتبع مبدأ "القيمة حسب المنزلة"، لتوضيح ذلك يمكن أخذ أي رقم عادي كمثال وليكن (7644).

عند النظر إلى الرقم نعلم أن قيمة الرقم 6 ليست فقط 6 بل هي في الواقع 600 لوجود العدد في "خانة المئات"، كذلك الرقم 7 يحمل قيمة 7000 لأنه موجود في "خانة الألوف".

الآن علينا تحليل كيفية اكتساب الأرقام لقيمتها حسب المنزلة المتواجدة فيها، وسنبدأ بالنظام العشري حتى نتمكن من إسقاط الطريقة ذاتها على النظام الثنائي وفهمها.

في النظام العشري تعتمد قيمة الرقم على الأساس 10، فلتحديد قيمة رقم ما ضمن عدد نتبع الطريقة التالية:

نفرض أن الرقم قيمته x وترتيب الرقم له قيمة n مثلاً، عندها تتحدد قيمة الرقم كما يلي:

(value= x * 10^(n-1

(إشارة ^ تعني مرفوع للقوة أو أس، واشارة * تعني الضرب، فيما Value تعني القيمة المراد حسابها).

مثلاً في العدد 7644 تكون x=6 و n=3 وعند التعويض تكون القيمة:

value=x *10^(n-1) =6*10^(3-1)= 6*10^2 =6*100 = 600

في النظام الثنائي نستخدم نفس الطريقة لكن مع أساس هو 2 بدلاً من 10، فمثلاً الرقم الثنائي (1000) قيمته تكون على الشكل التالي:

value= x*2^(n-1)= 1*2^(4-1)= 1*2^3= 1*8= 8

أما الأرقام الأعقد من هذا فيتم تحويل قيمتها بجمع قيم خاناتها مع بعضها، مثلاً الرقم 1010 تكون قيمته:

value= 1*2^(4-1) + 0*2^(3-1) + 1*2^(2-1) + 0*2^(1-1)=  1*2^3 + 0*2^2 + 1*2^1+0*2^0= 8+2= 10

إذا فالعدد 1010 بالنظام الثنائي يوافق العدد 10 في النظام العشري الذي نعرفه. وبطريقة التحويل المذكورة أعلاه من الممكن أن يتم تحويل أي عدد ثنائي إلى عشري بسهولة.

وهذا مثال آخر على التحويل (سيتم تجاهل الأصفار عند الحساب لأنها بلا قيمة أصلاً مهما كانت منزلتها):

العدد الثنائي 00111001 يتم حساب قيمته في النظام العشري كالتالي:

value=1*2^5 + 1*2^4 + 1*2^3 + 1*2^0= 32+16+8+1= 57

للتوضيح أكثر يمكنك -عزيزي القارئ- الحساب وفق هذا الجدول الذي يبسط العملية:

قيمة الخانة بشكل أسي

20

21

22

23

24

قيمة الخانة

1

2

4

8

16

14

0

1

1

1

0

17

1

0

0

0

1

23

1

1

1

0

1

24

0

0

0

1

1

 

وبالإمكان رؤية قيم الأعداد العشرية من 1 إلى 20 ومقابلاتها الثنائية في هذا الجدول:

قيمة الاعداد العادية بالنظام الثنائي

النظام العشري

النظام الثنائي

1

10000

2

10000

3

11000

4

10000

5

10100

6

11000

7

11100

8

10000

9

10010

10

10100

11

10110

12

11000

13

11010

14

11100

15

11110

16

10000

17

10001

18

10010

19

10011

20

10100

2

تاريخ نظام العد الثنائي

يعود نظام العد الثنائي الحديث إلى عام 1679 حيث كان عالم الرياضيات جزتفرايد ليبنز (Gottfried Leibniz) أول من وصفه، وكان ظهوره الأول في مقال بحثي صدر عام 1703.

ومع أن النظام الثنائي حديث نسبياً فجذوره تعود إلى الأزمنة القديمة والحضارات السابقة، وأبرز هذه الجذور موجودة في:

الحضارة المصرية القديمة (الفرعونية)

فقد كان المصريون القدماء يستخدمون نظامي كسور، أحدهما كان يدعى بـ "كسور عين حورس" (Horus-Eye fractions).

يث يعتقد علماء الآثار والرياضيات أن الكسور المستخدمة في هذا النظام كان بالإمكان ترتيبها على رسم عين حورس الشهير، وكانت هذه الكسور تعتمد النظام الثنائي من حيث المبدأ فهي مرتبة على الشكل التالي:

12، 14، 18، 116، 132، 164 أي تعتمد هذه الكسور أسس الرقم 2 كمقاماتها.

الحضارة الصينية القديمة

تعود الرموز الثنائية الصينية إلى ما يسمى بـ "آي تشينج" (I Ching) والعائد للفلسفة والأفكار الدينية التاوية (وتسمى أحياناً الطاوية) منذ القرن التاسع قبل الميلاد.

فالنظام الثنائي في التقاليد التاوية يقسم إلى "يين" و"يان" (وهما مكونا الشعار الشهير الذي يجمع اللونين الأبيض والأسود) ويتم تنظيمه وفق مجموعات ثلاثية أو سداسية.

الأرقام الثنائية الحديثة مستوحاة بشكل كبير من دراسة ليبنز لـ "آي تشينج" على الرغم من أن النظام الثنائي الموجود فيه لم يكن يستخدم كنظام رقمي فعلياً.

3

استخدام النظام الثنائي في الوقت الحاضر

يستخدم النظام الثنائي اليوم كأساس لجميع الأجهزة الإلكترونية التي تعتمد على الشرائح الحاسوبية، فلغة الآلة الخاصة بالحواسيب تعتمد النظام الثنائي حيث أن 0 ترمز إلى عدم وجود تيار و 1 ترمز لوجود تيار.

بذلك يمكن الترميز لأي شيء نريده باستخدام شيفرات طويلة من الرقمين 0 و 1.

تعود فكرة استخدام النظام الثنائي للترميز للفيلسوف فرانسس بيكون (Francis Bacon) الذي قدم فكرة نظام يستخدم الرموز الثنائية للتعبير عن الأحرف وغيرها منذ عام 1605.

هذا الشيء تم تحقيقه في العصر الحديث عبر أنظمة ترميز النصوص مثل: نظام ASCII الذي يرمز لكل محرف بمجموعة من الرموز الثنائية في 8 ثمانية خانات.

فحرف A يرمز له ب 01100001 وحرف E يرمز له ب 01100101 وهكذا، أنظمة الترميز الحديثة اليوم ما تزال تستخدم النظام الثنائي بشكل أساسي، لكنها تعتمد في الكثير من الأحيان على النظام الست عشري كوسيط.

4

النظام الست عشري

كما النظامان الثنائي والعشري، يعتمد النظام الست عشري على القيمة المنزلية للأرقام، حيث يحصل الرقم على قيمته من موقعه ضمن العدد الكلي.

يكمن الاختلاف فقط في أساس النظام، فكما يعتمد النظام العشري الأساس 10 والنظام الثنائي الأساس 2.

فالنظام الست عشري يعتمد الأساس 16 ويستخدم الأرقام من 0 حتى 9 والأحرف اللاتينية من A حتى F كرموز له حيث الحرف A قيمته 10 والحرف F قيمته 16.

ويعتمد النظام الست عشري أصلاً على النظام الثنائي، فكل رقم ست عشري هو عبارة عن عدد ثنائي من أربعة خانات.

فالرقم 1 في النظام الست عشري هو 0001 في النظام الثنائي، والرقم F هو العدد 1111 في النظام الثنائي.

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

لنستخدم العدد الثنائي 111001100010 كمثال هنا، نقوم بتقسيم العدد إلى أجزاء بحيث يتضمن كل جزء 4 خانات فقط، فيصبح العدد: 1110-0110-0010.

بعد ذلك نحول كل جزء إلى النظام الست عشري، حيث أن 0010 تساوي 2 من النظام الست عشري، و 0110 تساوي 6، و 1110 تساوي E، فيكون العدد الست عشري المقابل هو: E62.

في النهاية.. مع أن الأنظمة الرقمية كالثنائي والست عشري قد تبدو غريبة جداً لنا، إلا أنها أساس التكنولوجيا الحالية والمسؤول الأول عن الثورة الرقمية فعلياً.

التعليـــقات
جميع التعليقات تعبر عن وجهة نظر اصحابها وليس عن وجهة نظر