7.8 KiB
حل تمرینهای زوج فصل ۱:
۱-۲
با فرض رایج K = 2^10 و M = 2^20:
الف)
32K = 32 × 1024 = 32768 بایت
ب)
64M = 64 × 2^20 = 67108864 بایت
پ) برای 6.4G دو برداشت رایج وجود دارد:
اگر G = 10^9 باشد:
6.4G = 6400000000 بایت
اگر G = 2^30 باشد:
6.4 × 2^30 = 6871947673.6 که برای تعداد دقیق بایت عدد صحیح نمیشود؛ تقریباً 6871947674 بایت.
۱-۴
الف)
(4310)_5 = 4×5^3 + 3×5^2 + 1×5 + 0 = 580
ب)
(198)_12 = 1×12^2 + 9×12 + 8 = 260
۱-۶
معادله در مبنای r است:
x^2 - 11x + 22 = 0
ریشهها 3 و 6 هستند. پس:
جمع ریشهها:
3 + 6 = 9
در نتیجه:
(11)_r = r + 1 = 9
پس:
r = 8
کنترل با حاصلضرب:
3 × 6 = 18
و:
(22)_8 = 2×8 + 2 = 18
پس مبنا برابر است با:
8
۱-۸
الف)
(1.11010)_2
به مبنای ۱۶:
1.11010₂ = 1.D0₁₆ = 1.D₁₆
به دهدهی:
1 + 1/2 + 1/4 + 1/16 = 1.8125
پس:
(1.11010)_2 = (1.D)_16 = (1.8125)_10
ب)
(1110.10)_2
به مبنای ۱۶:
1110.10₂ = E.8₁₆
به دهدهی:
14 + 1/2 = 14.5
علت اینکه جواب قسمت ب، ۸ برابر قسمت الف است:
عدد قسمت ب همان عدد قسمت الف است که ممیز دودویی آن ۳ رقم به راست رفته است؛ پس در 2^3 = 8 ضرب شده است.
۱-۱۰
عدد دهدهی 345:
روش مستقیم به دودویی:
345 = 256 + 64 + 16 + 8 + 1
پس:
345₁₀ = 101011001₂
روش از طریق مبنای ۱۶:
345₁₀ = 159₁₆
و:
1 5 9 = 0001 0101 1001
پس:
345₁₀ = 101011001₂
روش دوم سریعتر است، چون هر رقم شانزدهی مستقیم به ۴ بیت تبدیل میشود.
۱-۱۲
الف) اعداد دودویی 101 و 1011
جمع:
101 + 1011 = 10000
ضرب:
101 × 1011 = 110111
ب) اعداد شانزدهی 2E و 34
جمع:
2E + 34 = 62
ضرب:
2E × 34 = 958
پس:
(2E)_16 + (34)_16 = (62)_16
(2E)_16 × (34)_16 = (958)_16
۱-۱۴
متممهای ۹ و ۱۰:
| عدد | متمم ۹ | متمم ۱۰ |
|---|---|---|
98127634 |
01872365 |
01872366 |
72049900 |
27950099 |
27950100 |
10000000 |
89999999 |
90000000 |
00000000 |
99999999 |
00000000 |
۱-۱۶
متمم ۱ و متمم ۲ اعداد دودویی:
| عدد | متمم ۱ | متمم ۲ |
|---|---|---|
11101010 |
00010101 |
00010110 |
01111110 |
10000001 |
10000010 |
00000001 |
11111110 |
11111111 |
10000000 |
01111111 |
10000000 |
00000000 |
11111111 |
00000000 |
۱-۱۸
تفریق با استفاده از متمم ۲:
الف)
11011 - 11001
اختلاف:
00010
ب)
110100 - 10101
ابتدا همطول میکنیم:
110100 - 010101 = 011111
پ)
1011 - 110000
همطول:
001011 - 110000
چون عدد اول کوچکتر است، نتیجه منفی میشود:
1011₂ - 110000₂ = -100101₂
ت)
101010 - 101011 = -1
پس:
-000001₂
۱-۲۰
برای نمایش +61 و +27 در متمم ۲، حداقل ۷ بیت لازم است، چون بازه ۷ بیتی در متمم ۲ برابر است با:
-64 تا +63
نمایشها:
| عدد | نمایش ۷ بیتی متمم ۲ |
|---|---|
+61 |
0111101 |
+27 |
0011011 |
-61 |
1000011 |
-27 |
1100101 |
اکنون عملیاتها:
الف)
(+61) + (-27) = 34
0111101 + 1100101 = 0100010
پس:
0100010₂ = 34₁₀
ب)
(+27) + (-61) = -34
0011011 + 1000011 = 1011110
پس:
1011110₂ = -34₁₀
پ)
(-27) + (-61) = -88
عدد -88 در ۷ بیت قابل نمایش نیست، چون از بازه -64 تا +63 خارج است. بنابراین سرریز رخ میدهد.
ت)
(-27) + (+61) = 34
1100101 + 0111101 = 0100010
پس:
0100010₂ = 34₁₀
۱-۲۲
نمایش BCD:
965 = 1001 0110 0101
672 = 0110 0111 0010
جمع BCD:
یکان:
0101 + 0010 = 0111
دهگان:
0110 + 0111 = 1101
چون 1101 بزرگتر از ۹ است، 0110 اضافه میکنیم:
1101 + 0110 = 1 0011
پس رقم دهگان 0011 و یک نقلی داریم.
صدگان:
1001 + 0110 + 1 = 10000
تصحیح BCD:
10000 + 0110 = 1 0110
پس جواب نهایی:
0001 0110 0011 0111
یعنی:
965 + 672 = 1637
۱-۲۴
عدد دهدهی:
6027
الف) کد BCD:
6 = 0110
0 = 0000
2 = 0010
7 = 0111
پس:
6027 = 0110 0000 0010 0111
ب) کد افزونی ۳:
هر رقم را با ۳ جمع میکنیم:
6 + 3 = 9 → 1001
0 + 3 = 3 → 0011
2 + 3 = 5 → 0101
7 + 3 = 10 → 1010
پس:
6027 = 1001 0011 0101 1010
پ) کد ۲۴۲۱:
طبق جدول کد ۲۴۲۱:
6 = 1100
0 = 0000
2 = 0010
7 = 1101
پس:
6027 = 1100 0000 0010 1101
۱-۲۶
برای ۵۲ کارت، حداقل تعداد بیت لازم:
2^5 = 32 < 52
2^6 = 64 ≥ 52
پس ۶ بیت کافی است.
یک روش مناسب:
۲ بیت برای خال کارت:
| خال | کد |
|---|---|
| خاج | 00 |
| خشت | 01 |
| دل | 10 |
| پیک | 11 |
۴ بیت برای شماره کارت:
| کارت | کد |
|---|---|
| A | 0001 |
| 2 | 0010 |
| 3 | 0011 |
| 4 | 0100 |
| 5 | 0101 |
| 6 | 0110 |
| 7 | 0111 |
| 8 | 1000 |
| 9 | 1001 |
| 10 | 1010 |
| J | 1011 |
| Q | 1100 |
| K | 1101 |
پس کد هر کارت برابر است با:
کد خال + کد شماره کارت
مثلاً اگر پیک را 11 و K را 1101 بگیریم:
K پیک = 111101
۱-۲۸
کدهای ASCII دادهشده به حروف تبدیل میشوند:
1001010 = J
1100001 = a
1101110 = n
1100101 = e
0100000 = Space
1000100 = D
1101111 = o
1100101 = e
پس رشته برابر است با:
Jane Doe
۱-۳۰
در ASCII استاندارد ۷ بیتی، کاراکترهای قابل چاپ از کد 32 تا 126 هستند.
تعدادشان:
126 - 32 + 1 = 95
از این ۹۵ کاراکتر:
حروف:
26 + 26 = 52
ارقام:
10
پس کاراکترهای خاص:
95 - 52 - 10 = 33
بنابراین:
تعداد کاراکترهای چاپی: 95
تعداد کاراکترهای خاص: 33
اگر فاصله را کاراکتر چاپی حساب نکنند، جوابها بهترتیب 94 و 32 میشوند.
۱-۳۲
حالت ثبات ۱۲ بیتی:
100010010111
آن را به سه گروه ۴ بیتی تقسیم میکنیم:
1000 1001 0111
الف) اگر BCD باشد:
1000 = 8
1001 = 9
0111 = 7
پس:
897
ب) اگر کد افزونی ۳ باشد، از هر رقم ۳ کم میکنیم:
1000 = 8 → 8 - 3 = 5
1001 = 9 → 9 - 3 = 6
0111 = 7 → 7 - 3 = 4
پس:
564
پ) اگر کد 8-4-(-2)-(-1) باشد:
1000 = 8
1001 = 7
0111 = 1
پس:
871
ت) اگر یک عدد دودویی باشد:
100010010111₂ = 897₁₆
و:
897₁₆ = 2199₁₀
پس مقدار دهدهی آن:
2199
۱-۳۴
برای گیت AND سهورودی:
F = A.B.C
برای گیت OR سهورودی:
G = A + B + C
جدول درستی:
| A | B | C | F = ABC | G = A+B+C |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |