الفصل الأول
الأنظمة العددية(Numerical Systems)
1.1مقدمة :
يعد إستخدام الأرقام كوسيلة للعد والحساب من الإنجازات الهامة التي حققها الإنسان عبر التاريخ والتي ساهمت في تسهيل كافة العمليات الحسابية وتسريعها. فقد إستخدام الإنسان منذ القدم الكثير من الأدوات لتمثيل عمليات العد والحساب ومنها استخدامه لأصابع يده العشرة والتي كانت الأساس للنظام العددي والذي لا يزال معمول به حتى يومنا هذا والمسمى بالنظام العشري (Decimal System).
في المراحل الدراسية السابقة وعند دراستك للنظام العشري لابد أنك لاحظت أن القيمة الحقيقية للرقم تعتمد على قيمته المكانية في العدد , وهذا يعني أن الرقم يمكن أن يأخذ أكثر من قيمة والذي يحدد ذلك مكانه داخل العدد ( والذي يسمى بالمرتبة), تزداد قيمة العدد إذا حركتهُ باتجاه اليسار وتقل قيمته إذا حركيه باتجاه اليمين. فمثلاً العدد (937 ) نجد أن القيمة الحقيقية للرقم 7 هي سبعة فقط أما قيمة الرقم 3 فهي (30) وقيمة الرقم 9 هي (900).
وهنالك أنظمة عددية أخرى غير النظام العشري , وأكثرها شيوعاً هي النظام الثنائي, النظام الثماني, النظام السادس عشري. وتكون هذه الأنظمة مفيدة في الأنظمة الرقمية مثل الحاسبات الالكترونية , المعالجات الدقيقة , وغيرها من الأنظمة الرقمية. ولهذا السبب فانه من الضروري الإطلاع على كل من هذه الأنظمة العددية لغرض استخدامها في دراستنا للأنظمة الرقمية.
2.1 النظام العشري : Decimal System
وهو النظام العددي المتعارف عليه والمستخدم في كافة المجالات وفي كل انحاء العالم وجاءت تسمية النظام ب(العشري) لان عدد الرموز الداخلة في تركيبة أي عدد في هذا النظام هي عشرة رموز وهي (0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ) وفي حالة استخدام اكثر من رمز فان القيمة العددية تعتمد على موقع الرمز ضمن سلسلة الرموز , ان عدد الرموز الداخلة في تركيب النظام العددي تسمى بأساس النظام , لذلك فان اساس النظام العشري هو العدد (10) وسمي بأساس العدد لان كل عدد مكتوب بهذا النظام يعتمد بالاساس على هذا العدد .
مثال : العدد العشري 7654.23 يمكن تحليله إلى المراتب التالية
7 6 5 4 . 2 3
7×1000 6 × 100 5 × 10 4 × 1 2 × 1/10 3 × 1/100
7 × 103 6 × 102 5 × 101 4 × 100 2 × 10-1 3 × 10-2
3.1 النظام الثنائي: Binary System
وهو نظام عددي أساسه العدد (2) مقارنة بالنظام العشري الذي أساسه العدد (10) , أي ان عدد الرموز المستخدمة في النظام هي رمزين فقط وهي ( 0 , 1 ) لتمثيل كافة الاعداد . ويعتبر النظام الثنائي اساس اللغة التي تتعامل بها الحاسبة الالكترونية والأنظمة الرقمية , مثال على اعداد بهذا النظام :
1001 , 10111.101 , 10.1101 , 0.1011
من خلال ملاحظتنا الاعداد اعلاه نلاحظ بان الاعداد بالنظام الثنائي ولكن توجد اعداد شبيهه بها في النظام العشري , فلتمييز العدد المكتوب بالنظام المعين , تكتب الاعداد داخل اقواس مع كتابة رمز اسفل القوس يمثل اساس النظام المكتوب به العدد .
فمثلا : العدد 110 يكتب بالثنائي 2(110) وبالعشري 10(110)
مثال : لتحليل العدد 2(110.101) الى مراتبه :
(110.101)2 = 0×20 + 1×21 + 1×22 + 1×2-1 + 0×2-2 + 1×2-3
4.1 النظام الثماني :Octal System
وهو من الانظمة المستخدمة في الحاسبات الالكترونية أساسه العدد (
, الرموز المستخدمة في هذا النظام هي (0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ) مثال على إعداد النظام الثماني
(110.013)8 , (203.62)8 , (721.5)8 , (0.513)8
مثال : حلل العدد 8(203.65) الى مراتبه
(203.65)8 = 3 × 80 + 0 × 81 + 2 × 82 + 6 × 8-1 + 5 × 8-2
= 3 ×1 + 0 × 8 + 2 × 64 + 6 × 1/8 + 5 × 1/64
5.1 النظام السادس عشري : Hexadecimal System
وهو من الانظمة المهمة المستخدمة في الحاسبات الالكترونية أساسه العدد (16) أي إن عدد الرموز المستخدمة في تشكيل أعداد النظام هي 16 رمز وهي :
( F , E , D , C , B , A , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1, 0 )
ومثال على أعداد بالنظام السادس عشري :
(2D6.F3)16 , (10011.1)16 , (FFF)16 , (0.257)16
مثال :: حلل العدد (3A1.7F)16إلى مراتبه :
(3A1.7F)16 = 1 × 160 + 10 × 16 1 + 3 × 16 2 + 7 × 16 -1 + 15 × 16 -2
= 1 × 1 + 10 × 16 + 3 × 256 + 7 × 1/16 + 15 × 1/256
ملاحظة : عند مقارنة الرموز السادس عشرية بالنظام العشري فان الرموز(F A ) تساوي في النظام العشري (15 10 ).
6.1 التحويلات بين الأنظمة العددية
أن عملية التحويل بين الأنظمة العددية من العمليات المهمة والتي يجب إن يتعرف عليها الشخص الذي يدرس عملية تصميم الأنظمة الرقمية . ولتسهيل عملية فهم هذه التحويلات سيتم تقسيمها إلى مجاميع كل مجموعة تتشابه بطريقة التحويل .
1.6.1 التحويل من الأنظمة (غير العشرية) إلى النظام العشري :
لتحويل أي عدد من أي نظام عددي إلى نظام العشري يتم تحليل العدد إلى مراتبه اعتمادا على أساس ذلك النظام ثم إيجاد ناتج جمع الحدود ، والعدد الناتج من الجمع سيكون هو العدد في النظام العشري .
مثال :حول العدد (1101.01)2 إلى النظام العشري :
(1101.01)2 = 1 × 20 + 0 × 2 1 + 1 × 22 + 1 × 2 3 + 0 × 2 -1 + 1 ×2-2
= 1 × 1 + 0 × 2 + 1 × 4 + 1 × 8 + 0 × 1/2 + 1 × 1/4
= 1 + 0 + 4 + 8 + 0 + 0.25
= (13.25 ) 10
مثال :حول العدد (125.4)8 إلى النظام العشري :
(125.4)8 = 5 × 80 + 2 × 8 1 + 1 × 8 2 + 4 × 8 -1
= 5 × 1 + 2 × 8 + 1 × 64 + 4 × 1/8
= 5 + 16 + 64 + 0.5
= (85.5)10
مثال :حول العدد (A15.C)16 إلى النظام العشري :
(A15.C)16 = 5 × 16 0 + 1 × 16 1 + 10 × 16 2 + 12 × 16 -1
= 5 × 1 + 1 × 16 + 10 × 256 + 12 × 1/16
= 5 + 16 + 2560 + 0.75
= (2581.75)10
2.6.1 التحويل من النظام العشري إلى الأنظمة الأخرى :
لتحويل أي عدد عشري إلى أي نظام أخر يجب تجزئته إلى جزء صحيح وجزء كسري وتحويل كل جزء بطريقة خاصة ثم جمع ناتج التحويل للجزئين للحصول على الناتج النهائي .
أولاً: تحويل الجزء الصحيح :
لتحويل الجزء الصحيح للعدد العشري لأي نظام نقوم بتقسيم العدد العشري على أساس النظام المطلوب التحويل إليه ونحتفظ بباقي القسمة ، ثم نأخذ ناتج القسمة ونقسمه مرة أخرى على أساس النظام ونحتفظ بالباقي وهكذا نستمر بتكرار العملية إلى أن نحصل على ناتج قسمة يساوي صفر . فيكون ناتج التحويل في عمود باقي القسمة بقراته من الأسفل إلى الأعلى وكتابته من اليسار إلى اليمين
ثانياً: تحويل الجزء ألكسري :
لتحويل الجزء ألكسري من العدد العشري إلى نظيره في الأنظمة الأخرى نقوم بضرب العدد ألكسري في أساس النظام المطلوب التحويل إليه ثم اخذ الجزء ألكسري فقط من ناتج الضرب وضربه
مرة أخرى في الأساس وهكذا تستمر عملية الضرب إلى أن نتوقف في إحدى الحالات التالية :
- إما أن يكون الجزء ألكسري الناتج في الضرب يساوي صفر .
- تكرار الجزء ألكسري أكثر من مرة .
- تعقيد الجزء ألكسري أكثر مع استمرار عملية الضرب .
بعد توقف عملية الضرب يتم قراءة ناتج التحويل في عمود الجزء الصحيح من الضرب بقراءته من الأعلى إلى الأسفل وكتابته بعد الفارزة من اليسار إلى اليمين .
مثال: حول العدد (13.125)10 إلى النظام الثنائي :
باقي القسمة ناتج القسمة
13 ÷ 2 = 6 1 0.125 × 2 = 0.25
6 ÷ 2 = 3 0 0.25 × 2 = 0.5
3 ÷ 2 = 1 1 0.5 × 2 = 1.0
1 ÷ 2 = 0 1
2 ( ( 0 . 0 0 1 2 ( 1 0 1 1 )
( 1101.001)2 ناتج التحويل النهائي =
مثال: حول العدد (145.45)10 إلى النظام الثماني :
باقي القسمة ناتج القسمة
145 ÷ 8 = 18 1 0.45 × 8 = 3.6
18 ÷ 8 = 2 2 0.6 × 8 = 4.8
2 ÷ 8 = 0 2 0.8 × 8 = 6.4
0.4 × 8 = 3.2
0.2 × 8 = 1.6
( 0 . 3 4 6 3 1 )8 8 ( 1 2 2 )
( 221.34631)8 ناتج التحويل النهائي =
مثال: حول العدد (394.36)10 إلى النظام السادس عشري :
باقي القسمة ناتج القسمة
394 ÷ 16 = 24 10(A) 0.36 × 16 = 5.76
24 ÷ 16 = 1 8 0.76 × 16 = 12.16
1 ÷ 16 = 0 1 0.16 × 16 = 2.56
0.56 × 16 = 8.96 :
(0. 5 C 2 8 )16 ( 1 8 A )16
( 18A.5C28)16 ناتج التحويل النهائي ≈
3.6.1 التحويل من النظام الثنائي إلى الثماني وبالعكس :
لتحويل العدد من النظام الثنائي إلى الثماني يقسم العدد الثنائي إلى مجاميع من ثلاثة مراتب ابتدءا من الفارزة باتجاه اليسار للجزء الصحيح وباتجاه اليمين للجزء ألكسري ,وإذا انتهت الأطراف بمراتب اقل من ثلاثة تكمل باصفار , ثم تحول كل مجموعة ثلاثية في النظام الثنائي إلى ما يقابلها في النظام الثماني كما في الجدول أدناه , والعدد الناتج هو العدد بالنظام الثماني .
الثنائي الثماني
20 21 22
0 0 0 0
1 0 0 1
0 1 0 2
1 1 0 3
0 0 1 4
1 0 1 5
0 1 1 6
1 1 1 7
مثال: حول العدد (11010111.1101)2 إلى النظام الثماني :
011 010 111 . 110 100
3 2 7 . 6 4
(11010111.1101)2 = (327.64)8
ولتحويل أي عدد من النظام الثماني إلى الثنائي فتكون العملية عكسية نسبة للتحويل السابق حيث يحول كل رمز ثماني إلى ما يعادله في النظام الثنائي من ثلاثة رموز وحسب الجدول السابق , ثم نحذف الاصفار التي في الطرف الأيمن والأيسر من التحويل إن وجدت والعدد الباقي هو ناتج التحويل .
مثال: حول العدد (321.64)8 إلى النظام الثنائي :
3 2 1 . 6 4
011 010 001 . 110 100
(321.64)8 = (11010001.1101)2
4.6.1 التحويل من النظام الثنائي إلى النظام السادس عشري وبالعكس :
إن التحويل بين النظام السادس عشري و الثنائي هو شبيه بطريقة التحويل الثنائي والثماني الفرق فقط هو إن المجاميع الثنائية في التحويل هي أربعة مراتب وجدول التحويل هو المبين أدناه
الثنائي السادس
عشري
20 21 22 23
0 0 0 0 0
1 0 0 0 1
0 1 0 0 2
1 1 0 0 3
0 0 1 0 4
1 0 1 0 5
0 1 1 0 6
1 1 1 0 7
0 0 0 1 8
1 0 0 1 9
0 1 0 1 A
1 1 0 1 B
0 0 1 1 C
1 0 1 1 D
0 1 1 1 E
1 1 1 1 F
مثال: حول العدد (1111011.10101)2 إلى النظام السادس عشري :
0111 1011 . 1010 1000
7 B . A 8
(1111011.10101)2 = (7B.A8)16
مثال: حول العدد (8D.9)16 إلى النظام الثنائي :
8 D . 9
1000 1101 . 1001
(8D.9)16 = (10001101.1001)2
5.6.1 التحويل من النظام الثماني إلى السادس عشري وبالعكس :
للتحويل بين النظام الثماني و السادس عشري يتم الاستفادة من التحويلات السابقة لانجاز التحويل النهائي , مثلا إذا أردنا التحويل من الثماني إلى السادس عشري , يتم تحويل الثماني الثنائي ومن ثم تحويل الثنائي (الناتج) إلى السادس عشري , والعكس صحيح .
2
2
مثال: حول العدد (670.25)8 إلى النظام السادس العشري :
6 7 0 . 2 5 الثماني
0001 10 11 1 000 . 010 1 0100 الثنائي
1 B 8 . 5 4 السادس عشري
(670.25)8 = (1B8.54)16
تمارين:
1. حول العدد (82.01)10 إلى النظام الثنائي ؟
2. حول العدد (540.12)10إلى النظام الثماني ؟
3. حول العدد (260.42)10 إلى النظام السادس عشري ؟
4. حول العدد (101101.001)2 إلى النظام العشري ؟
5. حول العدد (17E.2A)16 إلى النظام الثماني ؟
6. اوجد قيمة X في كل مما يأتي :
(X)8 = (35.875)10 , (X)16 = (10001010.101)2 , (X)10 = (804.1C)16
7.1 العمليات الحسابية في النظام الثنائي
كلنا يعلم العمليات الحسابية التي تتم باستخدام الأعداد العشرية مثل الجمع والطرح والضرب والقسمة ، كل هذه العمليات يمكن اجرائها في الأنظمة العددية الأخرى ، ولأهمية النظام الثنائي في دراستنا لموضوع الدوائر الرقمية , فسنقوم بدراسة تلك العمليات الحسابية في النظام الثنائي .
1.7.1 الجمع في النظام الثنائي : Binary Addition
إن ابسط عملية جمع في النظام الثنائي هي التي تتم بين عددين كل عدد يتكون من رمز (مرتبة ) ثنائي واحد . ولو أخذنا كافة الاحتمالات لهذه العملية فستكون الاحتمالات المبينة في أدناه . وبالاعتماد على هذه الاحتمالات يمكن تنفيذ أي عملية جمع ثنائية لأي عدد من المراتب.
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 1 محمل(Carry)
مثال: . اجمع العددين : (1011.01)2 , (11010.1)2
1 1 0 1 0 . 1 0
0 1 0 1 1 . 0 1 +
1 0 0 1 0 1 . 1 1
مثال: ما ناتج جمع العددين (1110.11)2 , (11011.101)2 :
1 1 0 1 1 . 1 0 1
0 1 1 1 0 . 1 1 0 +
1 0 1 0 1 0 . 0 1 1
ملاحظة : ناتج جمع 1 + 1 + 1 = 1 1 محمل
2.7.1 الطرح في النظام الثنائي : Binary Subtraction
كما في عملية الجمع , تكون احتمالات ابسط عملية طرح بين عددين ثنائيين , وهي أربع احتمالات, وكما مبينة :
0 - 0 = 0
0 - 1 = 1 1 استعارة(Borrow)
1 - 0 = 1
1 - 1 = 0
مثال: اطرح العدد (1011)2 من العدد (1101.1)2 :
1 1 0 1 . 1
1 0 1 1 . 0 -
0 0 1 0 . 1
تمرين / اطرح العدد (110.1)2 من العدد (1000.01)2 .
3.7.1 الضرب في النظام الثنائي : Binary Multiplication
إن احتمالات عملية الضرب في النظام الثنائي هي :
0 × 0 = 0
0 × 1 = 0
1 × 0 = 0
1 × 1 = 1
مثال: اوجد ناتج ضرب العددين (1010)2 , (101)2 :
1 0 1 0
1 0 1 ×
1 0 1 0
0 0 0 0
1 0 1 0
1 1 0 0 1 0
4.7.1 القسمة في النظام الثنائي : Binary Division
إن احتمالات عملية القسمة في النظام الثنائي هي :
0 ÷ 0 = ?
0 ÷ 1 = 0
1 ÷ 0 = ?
1 ÷ 1 = 1
مثال: اوجد ناتج قسمة العدد (11000)2 على العدد (100)2
110
100 11000
100
0100
100
0000
8.1 المتممات Complements
يستخدم مفهوم المتممات في الحاسبة في خزن الاعداد السالبة وسنبين ذلك في المواضيع القادمة، والاستخدام الثاني هو للتعويض عن عملية الطرح بعملية جمع متكرر والذي يؤدي بدوره إلى جعل الدوائر الالكترونية المسؤولة عن عملية الجمع بتنفيذ عملية الطرح مع بعض الإضافات للدائرة .
1.8.1 المتممات في النظام الثنائي :
هنالك نوعان من المتممات في النظام الثنائي .
1. المتمم ﻠ 1 (1's Complement) : مقلوب العدد (أي جعل كل واحد صفر وكل صفر واحد ) .
2. المتمم ﻠ2 (2's Complement) : هو المتمم ﻠ 1 مضافا إليه 1 .
مثال: العدد المتتم ﻠ 1 المتتم ﻠ 2
001001 001000 110111
01110 01101 10010
2.8.1 الطرح الثنائي باستخدام المتممات :
أولا . الطرح باستخدام المتمم ﻠ 1 :
لطرح عددين ثنائيين باستخدام المتمم ﻠ 1 نتبع الخطوات التالية :
1. إكمال مراتب العدد الأقل عددا بالمراتب (المطروح أو المطروح منه ) .
2. إيجاد المتمم ﻠ 1 للعدد المطروح .
3. جمع المتمم ﻠ 1 للمطروح مع المطروح منه .
4. نلاحظ نتيجة الجمع للخطوة 3 وكما يلي :
أ. إذا كان هنالك واحد ظاهر في المرتبة الإضافية ، فنقوم بجمعه مع بقية العدد والناتج من عملية الجمع هو ناتج الطرح ويكون موجب .
ب. إذا لم يظهر واحد في المرتبة الإضافية ( وهو دلالة إن ناتج الطرح سالب ) ويكون ناتج الطرح بأخذ المتمم ﻠ 1 لناتج الجمع للخطوة 3 ويكون ناتج العملية هو ناتج الطرح ويكون سالب.
مثال: اطرح العدد 2(110) من العدد (1010)2 باستخدام طريقة المتمم ﻠ 1 :
المطروح منه 1 0 1 0
المطروح 1 1 0 ─
تكملة مراتب المطروح 0 1 1 0 الخطوة 1
للمطروح ﻠ 1 المتمم 1 0 0 1 الخطوة 2
للمطروح ﻠ 1 المتمم 1 0 0 1 الخطوة 3
المطروح منه 1 0 1 0 +
المرتبة الإضافية 1 0 0 1 1 الخطوة 4
1 +
ناتج الطرح 0 1 0 0
مثال: اطرح العدد 2(10101) من العدد (1011)2 باستخدام المتمم ﻠ 1 :
المطروح منه 0 1 0 1 1
المطروح 1 0 1 0 1 ─
المتمم ﻠ 1 للمطروح 0 1 0 1 0
المطروح منه 0 1 0 1 1 +
المرتبة الإضافية خالية إذن النتيجة سالبة ? 1 0 1 0 1
ناتج الطرح 0 1 0 1 0 ─
ثانياً. الطرح باستخدام المتمم ﻠ 2 :
لطرح عدديين ثنائيين باستخدام المتمم ﻠ 2 تتبع الخطوات التالية :
1. إكمال مراتب العدد الأقل مراتب .
2. إيجاد المتمم ﻠ 2 للعدد المطروح .
3. جمع المتمم ﻠ 2 للعدد المطروح مع المطروح منه .
4. نلاحظ نتيجة الجمع للخطوة 3 :
أ. إذا كان هنالك واحد ظاهر في المرتبة الإضافية ، فنقوم بحذف هذا الواحد والباقي هو ناتج الطرح (موجب) .
ب. إذا لم يظهر واحد في المرتبة الإضافية ، فنقوم بأخذ المتمم ﻠ 2 لناتج الجمع ويكون هو ناتج الطرح (سالب) .
مثال: اطرح العدد (110)2 من العدد (1010)2 باستخدام المتمم ﻠ 2 :
المطروح منه 1 0 1 0
المطروح 0 1 1 0 ─
المتمم ﻠ 1 للمطروح 1 0 0 1
1 +
ﻠ 2 للمطروح المتمم 1 0 1 0
المطروح منه 1 0 1 0 +
المرتبة الإضافية تحذف 1 0 1 0 0
ناتج الطرح
مثال: اطرح العدد 2(10101) من العدد (1011)2 باستخدام المتمم ﻠ 2 :
المطروح منه 0 1 0 1 1
المطروح 1 0 1 0 1 ─
المتمم ﻠ 1 للمطروح 0 1 0 1 0
1 +
ﻠ 2 للمطروح المتمم 0 1 0 1 1
المطروح منه 0 1 0 1 1 +
المرتبة الإضافية خالية إذن النتيجة سالبة ? 1 0 1 1 0
لآخر نتيجة ونتيجة الطرح هو بأخذ المتمم ﻠ 2
0 1 0 0 1
1 +
1 0 1 0 0
إذن ناتج الطرح هو العدد ( 1 0 1 0 ─ )
مع تحياتي
نورالدين رؤوف
مدرس جامعي / بغداد
اي ملاحظة الإرسال الى البريد الألكتروني
abozaid2004xx@yahoo.com