Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

New Page 1
*
*
*
*

This free script provided by
Website Abstraction

 

 

نظام   الأعـداد

 


 

البت، البايت ،الثنائي، العشري، الستعشري


البت والبايت

يعتبر البت والبايت الحجر الأساسي للحاسوب الي يمكننا من خلالها تمثيل المعطيات
يعتبر البت خانة ثنائية واحدة تمثل أصغر وحدة تخزين فهي تحمل قيمة 1 اذا تمت مغنطتها ( الحالة on ) وتحمل القيمة 0 اذا لم تمغنط ( الحالة off) وينشأ عن تجميعها مع الخانات الثنائية الاخري القدرة علي تمثيل البايتات التي تتكون بايت واحد من ثمان بتات .. وفي الحقيقة البايت تمثل داخليا بتسع بتات الثمانية منها لتمثيل المعطيات والتاسعة تمثل خانة التحقق parity bit
1 1 1 1 1 1 1 1 | 1 ّ|
data المعطيات parity التحقق

وتجري العمليات الحسابية علي ثمان بتات الاولي ويمكن من خلالها تمثيل المحارف characters والرموز symbols او الارقام مثلا حرف A يمثل بــ 01000001 والرمز * بــ 00101010
تسمح هذه الخانات الثمانية بالحصول علي تركيب مختلفة من القيمتين 1 و 0 وذاك ابتداءا من التركيب 0000000 حتي 11111111
فلنقل ان لدينا عددان 123 و 76 فيتم تمثيلها هكذ
123 76

1 1 0 1, 1 1 1 1 | 0 0 1 1, 0 0 0 1
وعند التخزين : اذا كان عدد البتات اقل من 8 يضاف اليها اصفار ، فمثلا القيمة 1010 تخزن 0000,1010


العدد الثنائي Binary or Base2

يستطيع الحاسوب ان تميز بين القيمتين 0 و 1 فقط ولذلك كما قلنا يتم تمثيل المعطيات ومعالجتها بنظام الثنائي ذي الاساس 2 وهو نظام يسمح بتمثيل كافة الاعداد بواسطة القيمتين 0 و 1 ( اي نستطيع تخزين احدي القيمتين فى خانة bit واحدة bit = binary digit )
يحمل اي عدد ثنائي قيمة تعتمد علي الموقع النسبي ( فلنقل مثلا هناك 4 خانات من العدد الثنائي في موقع ما ) اول خانة منها اذا كان يحتوي علي 1 يكون قيمته 1*1 والثاني رفع قيمتها الي اثنين ( اذا كان يحمل 1 يكون 1 * 2 والا 0 * 2 ) والثالثة رفع قيمتها الي 3 هكذا والرابعة رفع قيمتها الي 4
2 ^ 1 = 2
2 ^ 2 = 4
2 ^ 4 = 8
2 ^ 8 = 16
2 ^ 16 = 32
2 ^ 32 = 64
2 ^ 64 = 128
( ملحوظة : سنستعمل علامة ^ لعملية الرفع power وعلامة * لعملية ضرب وعلامة / لعملية القسمة ، وعلامة # القيمة التي تحملها الخانة، الرفع مثلا 10^2 = 10 * 10 = 100، 10^4 = 10 * 10 * 10 * 10 = 1000 )

مثلا ناخذ الرقم الثنائي 1101 = 13 اربع خانات ( او اربع بتات متتابعات فى الذاكرة مثلا )

| 1 | 2 | 4 | 8 |
-------------------------------------------------------
1 0 1 1
ويتم حسابها هكذا
1 ^ 1 = 1 اول خانة
0 ^ 2 = 0 ثاني
1 ^ 4 = 4 ثالث
1 ^ 8 = 8 رابع
---------
13 =
اذن الموقع التي توجد فيها البتات الاربع تمثل القيمة 13

واليك مثل آخر الرقم 10001 = 17 خمسة خانات
1 ^ 1 = 1
0 ^ 2 = 0
0 ^ 4 = 0
0 ^ 8 = 0
1 ^ 16 = 16
---------
=17
والموقع التي فيها الخانات تمثل الرقم 17

( لا ينحصر تعامل الحاسوب مع الاعدادالثنائية المؤلفة من ثماني بتات ( خانات ) فقط فهذا الامر يختلف تبعا لبنية المعالج ، المعالج ذو البنية 16 خانة او 32 خانة تستطيع التعامل مع الاعداد المؤلفة من 16 بت او 32 بت بشكل آلي اذا كان نستطيع الحصول من 8 خانات ثنائية علي القيمة 256 فمن خلال 16 خانة يمكن الحصول علي 1-2 ^ 16 = 65635 ومن 32 خانة نحصل علي القيمة 4294967295 )


العدد العشري Decimal or Base10

كلنا نعرف العدد العشري ونستطيع نعدها كالتالي
0 1 2 3 4 5 6 7 8 9
يعني الرقم 10 يكون الأساس ( كما ان 0 و1 اي الاثنان اساس فى النظام الثنائي )

10 ^ 0 = 0
10 ^ 1 = 10
10 ^ 2 = 100
10 ^ 3 = 1000
10 ^ 4 = 10000
10 ^ 5 = 100000

فلناخذ الرقم 1040 ويكون تمثيله
| رقم عادي | عشر | مئة | الف |
--------------------------------------------------
0 4 0 1
اول خانة رقم تحت 10 وهي هنا 0 ، والقيمة تكون 10 ^ 0 * 0 والثانية خانة تحمل 10 ^ 1 * القيمة والثالثة تحمل 10 ^ 2 * القيمة والرابعة تحمل 10 ^ 3 * القيمة

10 ^ 0 * 0 = 0
10 ^ 1 * 4 = 40
10 ^ 2 * 0 = 0
10 ^ 3 * 1 = 1000
1040

العدد الستعشري Hexadecimal or BASE16

14، هذا رقم عشري وتمثيله بالعدد الثنائي 1110 اما تمثيله فى الستشعري هي E
لأن تمثيل الستشعري هكذا
F , E , D , C , B , A , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0
لاحظ انه
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
هـ = ستعشري
16 ^ 0 = 0
16 ^ 1 = 16 = 10هـ
16 ^ 2 = 256 = 100هـ
16 ^ 3 = 4096 = 1000هـ
16 ^ 4 = 65536 = 1000 هـ

اذن عندما نصل الرقم 16 تمثل بـ 10 لانه كما قلنا الاساس هنا 16 وليست 10
ورقم 20 ستعشري تساوي 32 ( 16 * 2 ) في العدد العشري
100 ستعشري تساوي 256 ( 16 ^ 16 = 16 * 16 وليست 10 * 10 )
ولناخذ رقم 1211 ( ستعشري ونري مقابلها فى النظام العشري يطلع كم ؟ )
| 1 | 16 | 256 * 2 | 4096 |
--------------------------------------------
1 1 2 1
16 ^ 0 * 1 = 0
16 ^ 1 * 1 = 16
16 ^ 2 * 2 = 512
16 ^ 3 * 1 = 4096
= 4625

النظام الثماني Octal or Base8

هذا النظام الاساس فيها 8 وهو قليل الاستخدام
0 ، 1 ، 2 ، 3 ، 4 ،5 ، 6 ، 7 ، 8
8 ^ 0 = 0
8 ^ 1 = 16 = 20 ثماني
8 ^ 2 = 64 = 100 ثماني
8 ^ 3 = 512 = 1000 ثماني
الخ



التحويل بين بعض انظمة العد
التحويل من العشري الي الستشعري

للتحويل اجر عملية القسمة علي 16 بشكل متكرر إلي أن يصبح ناتج القسمة الصحيح بدون باق مساويا صفر، وعنئذ يمثل باقي القسمة الصحيح في كل مرة رقما ستشعريا ، الباقي الاول يمثل الرقم الستعشري الادني والاخير يمثل الرقم الستعشري
الاعلي فمثلا لدينا الرقم 42936 نحوله الي مقابله الستعشري
العملية ناتج القسمة باقي القسمة الصحيح الرقم الستعشري
42936/16 2683 8 8 ( الرقم الادني )
2683/16 167 11 B
167/16 10 7 7
10/16 0 10 A ( الرقم الاعلي )
فالرقم العشري 42936 مقابله الستعشري A7B8
( عادة تميز الرقم الستعشري فى نظام ويندووز باضافة حرف H علي آخره واما فى انظمة يونكس/لينكس فتضاف x0 ( صفر ثم حرف x أمام الرقم )، أما عندما تبرمج في دلفي تضاف علامة $ )

التحويل من الستعشري الي العشري

لتحويل الرقم الستعشري ابدا من الرقم الأعلي واضرب كل رقم بالعدد 16 ثم اجمع النتائج خلال ذلك وتذكر انه يتم تحويل الارقام الستعشرية من A الي F الي مقابلها العشري من 10 حتي 15 فمثلا نحول الرقم الستعشري A7B8 الي مقابله العشري
ناخذا الرقم الاول وهي A ونضربه بـ 16 10 * 16 = 160
نضيف الرقم الثاني 7 اليه (160+7=167) ثم نضربه بــ 16 167 * 16 = 2672
نضيف الرقم الثالث B وهي (2672+11=2683) ثم نضربه بـ 16 2683 * 16 = 42928
ثم نضيف الرقم التالي وهي 8 42928+ 8 = 42936


التحويل من عشري الي الثنائي

اقسم العدد الي 2 اذا لم يبق باقي من القسمة ناخذ رقم 0
ثم ناخذ ناتج القسمة السابقة ونقسمها الي 2 ايضا ونري اذا كان هناك باقي القسمة ام الا، واذا كان هناك باقي القسمة ناخذ رقم 1 والا ناخذ رقم 0 وهكذا نستمر في القسمة حتي لا يبقي هناك ناتج
مثلا نحول العدد 238 الي مقابله الثنائي
238 / 2 = 119 : 0
119 / 2 = 59 : 1
59 / 2 = 29 : 1
29 / 2 = 14 : 1
14 / 2 = 7 : 0
7 / 2 = 3 : 1
3 / 2 = 1 : 1
1 / 2 = : 1
0 / 2 : 0
= 11101110 لاحظ اننا حذفنا اول صفر وهي لا قيمة لها اصلا

التحويل من الثنائي الي العشري

ناخذ الرقم فى اقسي اليسار وننظر لترتيبها ثم نرفعها
مثلا 10110
2 ^ 4 * 1= 16
2 ^ 3 * 0 = 0
2 ^ 2 * 1 = 4
2 ^ 1 *1 = 2
2 ^ 0 * 0 = 0
= 22


العودة  للصفحة  الرئيسية