1
This commit is contained in:
520
1.md
Normal file
520
1.md
Normal file
@@ -0,0 +1,520 @@
|
||||
حل تمرینهای زوج فصل ۱:
|
||||
|
||||
## ۱-۲
|
||||
|
||||
با فرض رایج `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 |
|
||||
Reference in New Issue
Block a user