0

اعداد و مبناها

 
1332214
1332214
کاربر نقره ای
تاریخ عضویت : اردیبهشت 1392 
تعداد پست ها : 1561
محل سکونت : فارس

اعداد و مبناها

 كدها و كدگذاري

 

كدگذاري، شيوه مناسبي براي نمايش و انتقال اطلاعات است. از كدهاي دودويي يا باينري براي انتقال و نمايش اطلاعات استفاده مي­شود. بدين ترتيب امكان پردازش رايانه بر داده­هاي عددي و غيرعددي فراهم مي­آيد.

به نظر شما پاسخ عمل جمع زير چيست؟

1001000111+

1101100010 

 

احتمالا خواهيد گفت 2102100121، اما كمي صبر كنيد. دادن

پاسخ به اين سئوال به اين بستگي دارد كه بدانيم اين اعداد در چه مبنائي قرار دارند! ما در حساب معمولي محاسبات را در مبناي ده انجام مي­دهيم. اما رايانه اين كار را در مبناي دو انجام مي­دهد.

مبنا چيست؟

مبناي ده، يعني اين كه ما براي نمايش اعداد،‌ ده رقم داشته باشيم. فرق رقم و عدد چيست؟ يك عدد، از ارقام تشكيل شده است. ارقام در مبناي ده، عبارتند از 0،‌ 1،‌ ...،‌ 8،‌ 9 .

وقتي مي­گوئيم ده رقم داريم، يعني وقتي يكي يكي به يك عدد اضافه مي­كنيم، وقتي به 9 رسيد، عدد يكان صفر مي­شود و عدد دهگان يكي اضافه مي­شود. همين كار در سطوح بعدي هم اتفاق مي­افتد. (يك شمارنده كيلومتر شمار را مجسم كنيد.)

اما اگر كيلومتر شماري داشته باشيم كه تنها دو رقم داشته باشد (0 و 1)، چه اتفاقي در شمارش مي­افتد؟ تغييرات را به ترتيب مي­نويسيم (وقتي يكي يكي اضافه مي­كنيم) :

0000000

0000001

0000010

0000011

0000100

اين يك شمارنده در مبناي دو است. عدد آخري هم صد نيست، بلكه يك، صفر، صفر است. حال بيائيد دو شمارنده مبناي دو و مبناي ده را با هم از صفر، يكي يكي در كنار هم افزايش دهيم:

0000000              0000

0000001              0001

0000010              0002

0000011              0003

0000100              0004

 

مشاهده مي­كنيد كه عدد 100 در مبناي دو معادل 4 در مبناي ده است. كدگذاري بر مبناي ده (ده­دهي)، يكي از انواع كدهاي متداول، است. اين مبنا به دليل اينكه ما انسانها از ابتدا حساب را بر آن ياد گرفته­ايم، قابل فهم و درك براي ما است. دليل اصلي آن هم، احتمالا تعداد انگشتان دست يك انسان است. (احتمالا اگر در سياره­اي موجودي با 4 انگشت در هر دست و 3 دست زندگي كند، مبناي محاسبات 12 خواهد بود!!). در حاليكه انسان از حساب مبناي 10 (ده­دهي) استفاده مي­كند، رايانه­ها سيستم مبناي دو (دودويي) را بكار مي­برند.

چرا مبناي 2

 ممكن است اين سؤال مطرح شود كه چرا در رايانه، از سيستم اعداد دودويي استفاده مي­شود. پاسخ اين است، با توجه به ساده­ترين مدار الكترونيكي كه يك كليد شامل حالتهاي روشن و خاموش است، نگهداري اعداد در رايانه بر مبناي سطوح ولتاژ روشن و خاموش، شامل دو حالت 0 و1 است. بنابراين امكان نمايش دو رقم 0 و 1، ما را به انجام عمليات در مبناي دو سوق مي دهد. البته مي­توان رايانه­هايي ساخت که از مبنای ده استفاده نمايند، ولی اين كار مشكلات فني خاصي را تحميل مي‌كند كه بحث آن در گنجايش اين كتاب نيست (البته رايانه هاي با مبناي ده هم در مواردي ساخته شده اند).

در مبنای دو از دو رقم صفر و يک (ارقام باينری) استفاده می­شود. رايانه­ها براي شناسايي اعداد و انجام محاسبات بر روي آنها، با تركيبي از مقادير صفر و يك، عمليات مختلفي را انجام مي­دهند. در واقع در رايانه همه چيز از جمله اعداد، آدرس بخشهاي مختلف، نوع دستورالعملها و ... همگي با يك سري اعداد دودويي بيان مي­شوند. اين همان معناي ساختار رقمي (ديجيتالي) رايانه­ها است.

سيستم اعداد دودويي

در سيستم مبناي 10، ده نماد جدا از هم يعني 0و1و2و ... و 9 براي توليد اعداد وجود دارند. در حاليكه در سيستم دودويي تنها دو نماد 0 و 1 موجود است. براي كار بر روي سيستم اعداد دودويي لازم است تا با تبديل ده­دهي به دودويي، و برعكس آشنا شويم و سپس چگونگي انجام عمليات اصلي رياضي بر روي اعداد دودويي را بررسي كنيم.

تبديل از ده­دهي به دودويي

يكي را­ه­هاي معمول براي اين تبديل، انجام تقسيمات متوالي بر 2 است. طي اين تقسيم، باقي­مانده­ها مورد استفاده قرار مي­گيرند و عدد دودويي را توليد مي­كنند. تقسيمات تا صفر شدن خارج قسمت ادامه پيدا مي­كند. سپس باقي­مانده­ها به صورت معكوس بدنبال هم نوشته مي­شوند تا عدد دودويي حاصل شود.

مثال 10-1

تبديل 25 در مبناي 10 به مبناي دودويي:

باقي­مانده      خارج­قسمت                        

1                12            =            2/25

0                  6             =            2/12

0                  3             =              6/2

1                  1             =              2/3

1                  0             =              2/1

بنابراين عدد بدست آمده برابر است با: 11001 در مبنا دو.

براي تبديل عدد اعشاري از مبناي 10 به مبناي 2، از روش ضرب مكرر عدد اعشاري در شماره مبناي جديد يعني 2 استفاده مي­گردد و در هر عمل ضرب، جزء صحيح عدد حاصل ضرب، نشانگر يك رقم از عدد اعشاري در مبناي جديد است كه به ترتيب حاصل شدن، از چپ به راست عدد اعشاري قرار مي­گيرند.

مثال 10-2

عدد 875/0 از مبناي 10 به مبناي 2 به صورت زير حاصل مي­شود:

750/1 = 2 * 875/0

500/1 = 2 * 750/0

000/1 = 2 * 500/0

در نتيجه 2(111/0)  = . 10(875/0)

تبديل از دودويي به ده­دهي

يك عدد دودويي به وسيله جمع­كردن توانهايي از 2 كه مقدار  ضريبشان يك است، به صورت ده­دهي آن تبديل مي­شود. به مثال زير توجه كنيد:

مثال

تبديل عدد 110012  به ده­دهي:

 

1          2          4          8          16

1          0          0          1          1

2510   =  1    +    0    +    0    +    8    +    16

 

در اين روش، مكان هر رقم در عدد مبناي 2 داراي يك وزن مربوط به خود است. با جمع نمودن وزنهاي مربوط به يك­ها عدد دودويي حاصل مي­شود. دانستن وزن مربوط به مكان بيت دودويي اين امكان را مي­دهد كه به جاي استفاده از روند تقسيم متوالي، مستقيما يك عدد ده­دهي را به دودويي تبديل نمايد. مثال 10-4  بيانگر اين قضيه است.

مثال

تبديل 39  از مبناي ده­دهي به مبناي دودويي:

1           2          4          8         16         32

 1          1          1          0          0          1

39   =   1    +    2    +    4    +    0    +    0    +    32

 

بنابراين:   1001112   =   3910

براي تبديل عدد اعشاري از مبناي 2 به مبناي 10، ارقام اعشاري را از چپ به راست به ترتيب 1- و 2- و ... شماره­گذاري مي­كنيم. سپس هر رقم را در 2 بتوان آن شماره ضرب مي­كنيم و حاصل ضربها را با هم جمع مي­كنيم. به مثال زير توجه كنيد:

مثال

تبديل 1011/0 از مبناي 2 به مبناي 10:

10(6875/0)  =  4-^2×1 + 3-^2×1 + 1-^2×1  =  2(1101/0)

 

تمرين

اعداد دودويي زير را به دهدهي تبديل كنيد.

10110010ر ؛ 1101101110 ؛ 10010001

اعداد دهدهي زير را به دودويي تبديل كنيد.

2003 ؛ 244244 ؛ 1286746

 

 مبناهاي متداول

آيا فقط مبناي دو و ده وجود دارد؟ خير. هر مبنائي مي­تواند وجود داشته باشد. مثلا شما مي­توانيد شمارنده­اي درست كنيد كه 3 رقم داشته باشد (مبناي 3). يا شمارنده­اي درست كنيد كه 25 رقم داشته باشد (مبناي 25). در مبناهائي كه بيش از ده رقم دارند، به جاي ارقام بعد از 9 مي­توان از حروف الفبا استفاده نمود. A  به جاي رقم بعد از 9 و ….

 

سيستم مبناهاي هشت و شانزده (HEX)، به عنوان نمايش مناسبي براي بيان و كار با ارقام دودويي بكار مي­روند. چرا كه نمايش اعداد دودويي به خاطر طولاني بودن آنها، دشوار است و مبناهاي هشت و يا شانزده به صورت راحت­تري مورد استفاده و انجام محاسبات قرار مي­گيرند. مثلا بيان عدد 100010010110 به صورت معادل آن در مبناي شانزده 896H ­آسانتر است. از اين رو تبديل از مبناي دو به مبناي هشت و شانزده و بالعكس، نقش مهمي در رايانه­ها دارد.

 

 
 
 

 

 

شانزده­شانزدهي

هشت­هشتي

دودويي

ده­دهي

0

0

0000

0

1

1

0001

1

2

2

0010

2

3

3

0011

3

4

4

0100

4

5

5

0101

5

6

6

0110

6

7

7

0111

7

8

10

1000

8

9

11

1001

9

A

12

1010

10

B

13

1011

11

C

14

1100

12

D

15

1101

13

E

16

1110

14

F

17

1111

15

 

در مبناي هشت، از ارقام 0 و 1 و .. 7 ، و در مبناي شانزده، از ارقام 0 و 1 و .. 9 و A و B و C و D و D و E و F استفاده مي­شود. در جدول 1-10 نمايش دودويي، ده­دهي، هشت­هشتي و شانزده­شانزدهي براي اعداد 0 تا 15 نشان داده شده است.

براي نمايش يك عدد دودويي به معادل شانزده­شانزدهي، از سمت راست گروه­هاي چهاربيتي را جدا كرده و هر عدد چهاربيتي دودويي را با معادل شانزده­شانزدهي­اش طبق جدول جايگزين مي­كنيم. براي تبديل از شانزده­شانزدهي به دودويي، هر رقم شانزده­شانزدهي را با چهار بيت دودويي معادلش جايگزين مي­كنيم. به مثال 10-6 توجه كنيد.

مثال 10-6

تبديل عدد دودويي 101011110101 به شانزده­شانزدهي:

ابتدا اين عدد به گروه­هاي چهاربيتي در مي­آيد: 0101  1111  1010

سپس هر گروه چهاربيتي با معادل شانزده­شانزدهي­اش جايگزين مي­شود:

0101          1111         1010

   5                 F               A

بنابراين: AF5H   =   B101011110101

در مورد اعداد اعشاري نيز به همين صورت عمل مي­كنيم، با اين تفاوت كه از چپ به راست (يعني بعد از علامت مميز) تقسيم­بندي چهاررقمي انجام مي­شود.

هر رقم در مبناي هشت، برابر با سه رقم دودويي است. براي تبديل يك عدد از مبناي دو به مبناي هشت معادل آن، از سمت راست گروه­هاي سه­بيتي را جدا كرده و هر عدد سه­بيتي دودويي را با معدل هشت­هشتي­اش كه در جدول قبل آمده است، جايگزين مي­كنيم. در مورد اعداد اعشاري نيز به همين صورت عمل مي­كنيم، با اين تفاوت كه از چپ به راست (يعني بعد از علامت مميز) تقسيم­بندي سه­ررقمي انجام مي­شود. همچنين براي تبديل از مبناي هشت به مبناي دو نيز هر رقم مبناي هشت را با سه­بيتي معدلش جايگزين مي­كنيم. به مثال زير توجه كنيد:

مثال 10-7

تبديل عدد دودويي 111101 به مبناي هشت معادل آن:

ابتدا اين عدد به گروه­هاي سه­­بيتي در مي­آيد: 101  111

سپس هر گروه سه­بيتي با معادل هشت­هشتي­اش جايگزين مي­شود:

 

101      111      

 5             7

بنابراين: O75  =   B111101

بدی کردیم خوبی یادمان رفت

زدلها لای روبی یادمان رفت

دوشنبه 6 خرداد 1392  8:51 PM
تشکرات از این پست
دسترسی سریع به انجمن ها