500 likes | 736 Views
=== 第 2 章 數字系統 ===. 第 2 章 數字系統 2-1 數字系統 2-2 數字系統的互換 2-3 二進制有號數系統與補數 2-4 文數字碼與同位偵錯碼. 2-1 數字系統. 八進制. 十六進制. 二進制. 2-1 數字系統. 2-1 數字系統. 系統標示. 在數字系統中,所謂的十進制就是以 10 為基底( radix )的 數 字系 統;而二進制就是以 2 為基底的數字系統。. 2-2 數字系統的互換.
E N D
=== 第 2 章 數字系統 === 第 2 章 數字系統2-1 數字系統2-2 數字系統的互換2-3 二進制有號數系統與補數2-4 文數字碼與同位偵錯碼
2-1 數字系統 八進制 十六進制 二進制
2-1 數字系統 系統標示 在數字系統中,所謂的十進制就是以10為基底(radix)的數字系統;而二進制就是以2為基底的數字系統。
2-2 數字系統的互換 在數字系統中,我們所常用的都是一種位置性數字系統(positional number system)。
2-2 數字系統的互換 在二進位系統中,每一位數稱為一個位元(bit),每8個位元稱為一個位元組(byte)。 最左邊的位元因其權值最高,故稱為最高有效位元(MSB);最右邊的位元則為最低有效位元(LSB)。
2-2 數字系統的互換 試將1011.101B 轉換成十進制。 1011.101 = 23 + 21 + 20 + 21 + 2 3 = 11.625 1. 試將 010110.0110B 轉換成十進制。 010110.0110B = 24 + 22 + 21 + 2−2 + 2−3 = 22.375
2-2 數字系統的互換 將 435.62(8)轉換成十進制。 八進位系統逢 8 進位,故其每位數的權值都是8的乘冪。因此其十進制值為: D = 4×82 + 3×81 +5×80 + 6×81 + 2×82 = 4×64 + 3×8 + 5×1+ 6×0.125 + 2×0.015625 = 285.78125 2. 試將127.4(8)轉成十進制。 127.4(8) = 1 × 82 + 2 × 81 + 7 × 80 + 4 × 8−1 = 64 + 16 + 7 + 0.5 = 87.5
2-2 數字系統的互換 試將10DEH 及 2BC.1H分別轉成十進制。 10DEH = 1×163 + D×161 + E×160 = 1× (24)3 + 13×16 + 14×1 = 1×212 + 13×16 + 14×1 = 4096 + 208 + 14 = 4318 2BC.1H = 2×162 + 11×161 + 12×160 + 1×161 = 512 + 176 + 12 + 0.0625 = 700.0625 3. 將15F.AH 轉成十進制。 15F.AH = 1×162 + 5×161 + 15×160 + 10×16−1 = 351.625
2-2 數字系統的互換 整數部分: 1. 採連除法 2. 將餘數由下往上記列。 小數部分: 1. 採連乘法 2. 將其整數部分由上往下記列。
2-2 數字系統的互換 將 43.85 轉換成二進制,取小數點以下 4 位。
2-2 數字系統的互換 4. 將 38.625 轉成二進制。 38 = 25 + 22 + 21 = 100110B 0.625 = 2−1 + 2−3 = 0.101B 故 38.625 = 100110.101B
2-2 數字系統的互換 將 259.24 轉換成八進制數,取小數點以下 4 位。
2-2 數字系統的互換 將 1247.74 轉換成十六進制,小數部分只取 3 位。
0.625 ×16 = 10.0 整數部分10 = AH故1630.625 = 65E.AH 2-2 數字系統的互換 5. 將 1630.625 轉成十六進制。
2-2 數字系統的互換 在位置性數字系統中,可先轉換成十進制,再利用連除法(整數部分)及連乘法(小數部分)將其轉成另一種基底的數字系統。 二進制與八進制的互換
2-2 數字系統的互換 (1)試將 1011101.10011B 轉換成八進制。 (2)試將 274.31(8) 轉換成二進制。
2-2 數字系統的互換 二進制與十六進制的互換 (1)將 B3F.2AH 轉成二進制。 (2)將 101111101.11001B 轉成十六進制。
2-2 數字系統的互換 6. 1CD.EH = B,1011111.101B =H。 000111001101.1110 5F.A
在 8 位元真值表示法中,最左位元為符號位元,其能用以表示數量絕對值大小者,只有 7 個位元。因此可依其絕對值大小,先以 7 個位元的二進制值來表示,最後再將符號位元加入。 (1)9 = 0001001B 故 9 = 1 0001001B (2)17 = 0010001B 故 +17 = 0 0010001B 2-3 二進制有號數系統與補數 將 9 與+17 分別轉換成 8 位元長度的真值表示法。
2-3 二進制有號數系統與補數 二進位有號數的基底補數表示法有1’s 補數和2’s 補數兩種。 +B則與一般二進制相同,只要最高位元是 0 。 1 的補數表示法 將二進位負數取 1’s 補數時,只要將原數 0 變 1、1 變 0 。
2-3 二進制有號數系統與補數 試將下列各數轉成 1 的補數。 (1) 0101B(2) 01011101B 7. 將 011100110011B 轉換成1’s 補數。 011100110011B 取1’s 補數為 100011001100B
2-3 二進制有號數系統與補數 2 的補數表示法 將下列各數取 2’s 補數。 (1) 01010101B
2-3 二進制有號數系統與補數 將下列各數取 2’s 補數。 (2) 01110000B
2-3 二進制有號數系統與補數 負數取 2’s 補數的直接轉換法如下:
2-3 二進制有號數系統與補數 在 8 位元 2’s 補數系統中,+38 與38的二進位數為何?
2-3 二進制有號數系統與補數 8. 在 8 位元 2’s 補數系統中,00101000B 與 11010111B 之十進制數分別為何? 00101000B = 25 + 23 = 40 11010111B 因最高位元為 1 是負數,故應先取 2’s 補數將其轉為正數,再算其大小。 11010111B 取 2’s 補數得 −00101001B = −41
2-3 二進制有號數系統與補數 在2’s 補數系統應留意的是: 1. 若有最終進位應捨棄。 2. 運算結果仍是 2’s補數形態。 3. 結果不可有溢位(overflow)情形: 若兩正數相加結果為負數,或兩負數相加結果為 正數,我們稱該運算發生溢位。
2-3 二進制有號數系統與補數 在 8 位元 2’s 補數系統中,+38 與38的二進位數為何?
最高位元為 1,表負數,可再取一次 2’s 補數還原,以識別其大小。 即 11010000B = −00110000B = −48 2-3 二進制有號數系統與補數 9. 試以2’s 補數加減法運算求出90 + 42 的結果。
以小數點為中心,分別向左、向右將原數分成4個位元一組(不足 4 位元補 0),再直接轉換成等值的十進位數。故 1010011.011110(BCD) = 53.78 2-4 文數字碼與同位偵錯碼 (1)將 1010011.011110(BCD)轉換成十進制。
將十進制數的每一位數用等值的 4 位元二進制數直接取代。故 3874 = 0011100001110100(BCD) 2-4 文數字碼與同位偵錯碼 (2)將 3874 轉換成 BCD 碼。 10. (1) 1001100000.01(BCD) = =(2) 109.7 = 。 0010 0110 0000 .0100(BCD) 260.4(BCD) 0001 0000 1001 .0111(BCD)
2-4 文數字碼與同位偵錯碼 葛雷碼(Gray code)是一種最小變化碼,其計數值由一數目變化到下一數目時,僅變化一個位元。
2-4 文數字碼與同位偵錯碼 二進位數轉換成葛雷碼 二進位數換算成葛雷碼: 1. 保留左起第一個位元。 2. 從左起第二位元依序和前一位元相加,捨棄進 位,以取得每一個葛雷位元。
2-4 文數字碼與同位偵錯碼 葛雷碼轉換成二進碼 • 葛雷碼轉換成二進位數: • 保留葛雷碼左起第1 位元。 • 將二進位數的最高位元與葛雷碼左起第 2 位元相加,結果就是二進位數的次高位元。
二進位數欲變為葛雷碼時,只需將相鄰二位元相加二進位數欲變為葛雷碼時,只需將相鄰二位元相加 故 00001101B = 00001011(Gray) 2-4 文數字碼與同位偵錯碼 (1)將二進位數 00001101B 換成葛雷碼。
將葛雷碼變換成二進位數則需作對角位元之加法,即將葛雷碼變換成二進位數則需作對角位元之加法,即 故 01100100(Gray) = 01000111B 2-4 文數字碼與同位偵錯碼 (2)將葛雷碼 01100100 換成二進位數。 11. (1)101101B = (Gray) (2)111100(Gray) = B 111011 101000
2-4 文數字碼與同位偵錯碼 (ASCII)
2-4 文數字碼與同位偵錯碼 試查出下列文字的 ASCII 碼:(1) P、Y (2) 0、7。 • P 是第 5 行第 0 列,故 “P” = 50H;Y 是第 5 行第 9 列,故 “Y” = 59H。另可由 A 來推算,因 “A” = 41H,而“Y”為第25 個字母,故 “Y” = 41H + 24 = 41H + 18H = 59H。 • 0 是第 3 行第0 列,故 “0” = 30H;7 是第 3 行第7 列,故 “7” = 37H。另可由 0 來推算,因 “0” = 30H,故 “7” = 30H + 7 = 30H + 7H = 37H。
2-4 文數字碼與同位偵錯碼 12. 試查出 a 及 m 的 ASCII 碼。 A 在第 6 行第 1 列,故 “a” = 61H。 m 在第 6 行第 13 列,故 “m” = 6DH。
2-4 文數字碼與同位偵錯碼 偶同位 偶同位是在一組數碼中加入一個同位位元(parity bit),使整組數碼具有偶數個 1。 奇同位 所謂奇同位就是在加入一只同位位元後,使整組數碼中具有奇數個 1。
2-4 文數字碼與同位偵錯碼 將 57 和 36 轉換成 BCD 碼,並在數碼前加入一個同位位元,使其成為奇同位碼。 • 57 = 01010111(BCD),其中 BCD 碼中計有 5 個 1,是奇數,故其奇同位位元須加 “0”。因此,57 的奇同位 BCD 碼為 001010111。 • 36 = 00110110(BCD),其中有偶數個 1,故同位位元須加 “1”,使 BCD 碼具有奇數個 1。因此,36 的奇同位 BCD 碼為 100110110。
2-4 文數字碼與同位偵錯碼 13. 試將 01001011 與 11110111 兩組數碼轉成具偶同位的 9 位元碼。 01001011 → 001001011(加入 0 使原數為偶數個 1) 11110111 → 111110111(加入 1 使原數為偶數個 1)