Chapter 2 - Coding
Chapter 2 - Coding
راضیه قیاسی
[email protected]
2
فصل دوم:
سیستم اعداد و کدگذاری
3
مقدمه
عدد
متن
صوت
ویدئو
سیستم اعداد و کدگذاری 4
مقدمه
آشناترین سیستم عددنویسی برای انسان ،سیستم دهدهی است که نشانههای آن ارقام 0تا 9هستند. •
اگر بخواهیم در کامپیوتر برای نمایش دادهها و اطالعات از سیستم دهدهی استفاده کنیم ،در پیادهسازی سختافزاری به ده •
عالمت مختلف برای تشخیص ده رقم مختلف نیاز داریم.
این وضعیت پیچیدگی فراوانی را ایجاد میکند که هم هزینه طراحی سختافزار را افزایش میدهد و هم احتمال خطا را زیاد •
میکند.
بنابراین باید روشی برای عددنویسی پیدا کنیم که پیادهسازی آن به کمترین تعداد عالمت نیاز داشته باشد. •
چون سادهترین حالت ،وجود داشتن یا نداشتن عالمت است ،بنابراین باید روشی را پیدا کنیم که تنها دو نماد برای نوشتن •
داشته باشد.
سیستم دودویی این نیاز را برآورده میسازد. •
بدون عالمت
صحیح
عالمتدار
اعداد
بدون عالمت
اعشاری
عالمتدار
متمم 15
متمم 1 3B5A 𝐶4𝐴5
110100102 00101101 16
متمم 16
1100101011 متمم 1 398𝐴𝐵1 16
2
متمم 10
263 متمم 7 7986
8 10
بدون عالمت
صحیح
عالمتدار
اعداد
بدون عالمت
اعشاری
عالمتدار
• نکته :با هر سه روش بیت آخر از چپ مقدار 1دارد .بنابراین در صورت مشاهده 1در سمت چپ به معنای منفی بودن آن عدد
است.
11010100 2 = −00101100 = −44 10
10100 00101110
1111 11
1011 1011 0001 0001
10010 1100
362 8 = 242 10 𝐶44 16 𝐶𝐵= − 3 16
37 D65
111 1111
+29 = 0 0 0 1 1 1 0 1 2 00011101
1 1
+29 = 0 0 0 1 1 1 0 1 2 00011101 00011101
00101110
+46
سیستم اعداد و کدگذاری 37
سرریز ()overflow
• سرریز زمانی رخ میدهد که حافظه کافی برای ذخیرهسازی وجود نداشته باشد.
فضای ذخیرهسازی 4 :بیت • به این ترتیب آنچه که در کامپیوتر ذخیره میشود ،داده درستی نیست.
+ +5 + 0101 + −5 + −0101 + 1011
1
−7 1001
بدون عالمت
صحیح
عالمتدار
اعداد
بدون عالمت
اعشاری
عالمتدار
.
• روش تبدیل:
• تبدیل قسمت صحیح به مبنای دو همانند اعداد صحیح
• تبدیل قسمت اعشاری به مبنای دو به صورت زیر:
• ضرب قسمت اعشاری به ،2قسمت صحیح نتیجه ذخیره نموده ،قسمت اعشاری مجدد در دو ضرب میشود.
• این روند تا زمانی که به قسمت اعشاری صفر شود یا به توالی از اعداد برسیم ادامه مییابد.
0.5 = 1.0
? = (75.20)10 2
? = (101.023)10 2
? = (−53.1)10 2
• به منظور تبدیل اعداد اعشاری دهدهی ابتدا باید اعداد را به حالت دودویی تبدیل نموده (مشابه ممیز ثابت ،فقط اعداد منفی
همانند اعداد مثبت برخورد میشود) ،سپس مطابق استاندارد IEEE754به شکل زیر تبدیل میکنیم.
𝑠
𝑛 = −1 × 1. 𝑚 × 2𝑒+127 Float
بخش عالمتs
بخش نما e+127 بخش مانتیس m
سیستم اعداد و کدگذاری 48
تبدیل اعداد اعشاری به دودویی با روش ممیز شناور
محدوده عددی تعداد بیت تعداد بیت تعداد بیت تعداد کل بیتها فرمت
مانتیس نما عالمت
±1.17549 × 10−38 23 8 1 32 نوع Float
تا
±3.402824 × 10+38
±2.22507385850720 × 10−308 52 11 1 64 نوع Double
تا
±1.79769313486232 × 10+308
0
228 10 = 11100100 2 = −1 × 1.1100100 × 27+127 0 10000110 11001000000000000000000
1
−(0.1875)10 = − 0.0011 2 = −1 × 1.1 × 2−3+127 1 01111100 10000000000000000000000
1
−(8.625)10 = − 1000.101 2 = −1 × 1.000101 × 23+127
1 10000010 00010100000000000000000
? = (75.20)10 2
? = (101.023)10 2
? = (−53.1)10 2
3527
+
2564
8457
+
3216