2-1
數字系統
2-2 數字系統的互換
2-3
二進制有號數系統與補數
線上影片連結補充教材
•
位元排列
2-1 2-2 2-3 2-4
EXIT
2-3
EXIT 2-5 2-1 2-2 2-3 2-4
在數字系統中,所謂的十進制就是以
10
為
基底( radix )的
數
字系
統;而二進制就是以
2
為基底的數字系統。
在數字系統中,我們所常用的都是一種位置性
數字系統( positional number system )。
EXIT
2-7
在二進位系統中,每一位數稱為一個位元( bi
t ),每
8
個位元稱為一個位元組( byte )。
最左邊的位元因其權值最高,故稱為最高有效
位元( MSB );最右邊的位元則為最低有效位元
( LSB )。
EXIT 2-9 2-1 2-2 2-3 2-4 試將 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
將 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) 轉成十進制。
EXIT 2-11 2-1 2-2 2-3 2-4 試將 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
整數部分:
1. 採連除法
2. 將餘數由下往上記列。
小數部分:
1. 採連乘法
2. 將其整數部分由上往下記列。
EXIT
2-13
2-1 2-2 2-3 2-4
4. 將 38.625 轉成二進制。 38 = 25 + 22 + 21 = 100110B
0.625 = 2−1 + 2−3 = 0.101B
EXIT
2-15
2-1 2-2 2-3 2-4
EXIT 2-17 2-1 2-2 2-3 2-4 5. 將 1630.625 轉成十六進制。 0.625 ×16 = 10.0 整數部分 10 = AH 故 1630.625 = 65E.AH
在位置性數字系統中,可先轉換成十進制,再
利用連除法(整數部分)及連乘法(小數部分)將
其轉成另一種基底的數字系統。
EXIT
2-19
2-1 2-2 2-3 2-4
(1) 試將 1011101.10011B 轉換成八進制。 (2) 試將 274.31(8) 轉換成二進制。
(1) 將 B3F.2AH 轉成二進制。
EXIT 2-21 2-1 2-2 2-3 2-4 6. 1CD.EH = B , 1011111.101B = H 。 000111001101.1110 5F.A
EXIT 2-23 2-1 2-2 2-3 2-4 將 9 與 +17 分別轉換成 8 位元長度的真值表示法 。 在 8 位元真值表示法中,最左位元為符號位元, 其能用以表示數量絕對值大小者,只有 7 個位元。 因此可依其絕對值大小,先以 7 個位元的二進制 值來表示,最後再將符號位元加入。 (1)9 = 0001001B 故 9 = 1 0001001B (2)17 = 0010001B 故 +17 = 0 0010001B
二進位有號數的基底補數表示法有 1’s 補數和
2’s 補數兩種。
EXIT 2-25 2-1 2-2 2-3 2-4 試將下列各數轉成 1 的補數。 (1) 0101B (2) 01011101B 7. 將 011100110011B 轉換成 1’s 補數。 011100110011B 取 1’s 補數為 100011001100B
將下列各數取 2’s 補數。 (1) 01010101B
EXIT
2-27
2-1 2-2 2-3 2-4
將下列各數取 2’s 補數。 (2) 01110000B
EXIT
2-29
2-1 2-2 2-3 2-4
在 8 位元 2’s 補數系統中, +38 與 38 的二進位數 為何?
8. 在 8 位元 2’s 補數系統中, 00101000B 與 11010111B 之十進制數分別為何? 00101000B = 25 + 23 = 40 11010111B 因最高位元為 1 是負數, 故應先取 2’s 補數將其轉為正數,再算其大小。 11010111B 取 2’s 補數得 − 00101001B = −41
EXIT
2-31
在
2’s 補數系統應留意的是:
1. 若有最終進位應捨棄。
2. 運算結果仍是 2’s 補數形態。
3. 結果不可有溢位( overflow )情形
:若兩正數相加結果為負數,或兩負數相加結果為
正數,我們稱該運算發生溢位
。EXIT
2-33
2-1 2-2 2-3 2-4
在 8 位元 2’s 補數系統中, +38 與 38 的二進位數 為何?
9. 試以 2’s 補數加減法運算求出 90 + 42 的結果。 最高位元為 1 ,表負數,可再取一次 2’s 補數還 原,以識別其大小。
EXIT
2-35
(1) 將 1010011.011110(BCD) 轉換成十進制。
以小數點為中心,分別向左、向右將原數分成 4 個 位元一組(不足 4 位元補 0 ),再直接轉換成等 值的十進位數。
EXIT 2-37 2-1 2-2 2-3 2-4 (2) 將 3874 轉換成 BCD 碼。 將十進制數的每一位數用等值的 4 位元二進制數 直接取代。 故 3874 = 0011100001110100(BCD) 10. (1) 1001100000.01(BCD) = = (2) 109.7 = 。 0010 0110 0000 .0100(BCD) 0001 0000 1001 .0111 (BCD) 260.4(BCD)
EXIT 2-39 2-1 2-2 2-3 2-4
葛雷碼( Gray code )
是一種最小變化碼,其計
數值由一數目變化到下一
數目時,僅變化一個位元
。
二進位數轉換成葛雷碼
二進位數換算成葛雷碼:
1. 保留左起第一個位元。
2. 從左起第二位元依序和前一位元相加,捨棄進
位,以取得每一個葛雷位元。
EXIT 2-41 2-1 2-2 2-3 2-4
葛雷碼轉換成二進碼
葛雷碼轉換成二進位數:
1.保留葛雷碼左起第 1 位元
。2.將二進位數的最高位元與葛雷碼左起第 2 位
元相加,結果就是二進位數的次高位元。
(1) 將二進位數 00001101B 換成葛雷碼。
二進位數欲變為葛雷碼時,只需將相鄰二位元相加
EXIT 2-43 2-1 2-2 2-3 2-4 (2) 將葛雷碼 01100100 換成二進位數。 將葛雷碼變換成二進位數則需作對角位元之加法, 即 故 01100100(Gray) = 01000111B 11. (1)101101B = (Gray) (2)111100(Gray) = B 111011 101000
EXIT
2-45
試查出下列文字的 ASCII 碼: (1) P 、 Y (2) 0 、 7 。(1) P 是第 5 行第 0 列,故 “ P” = 50H ; Y 是第 5 行第 9 列,故 “ Y” = 59H 。 另可由 A 來推算,因 “ A” = 41H ,而“ Y” 為第 25 個字母, 故 “ Y” = 41H + 24 = 41H + 18H = 59H 。 (2) 0 是第 3 行第 0 列,故 “ 0” = 30H ; 7 是第 3 行第 7 列,故 “ 7” = 37H 。
EXIT 2-47 2-1 2-2 2-3 2-4 12. 試查出 a 及 m 的 ASCII 碼。 A 在第 6 行第 1 列, 故 “ a” = 61H 。 m 在第 6 行第 13 列, 故 “ m” = 6DH 。
偶同位
偶同位是在一組數碼中加入一個同位位元
( parity bit ),使整組數碼具有偶數個 1 。
奇同位
所謂奇同位就是在加入一只同位位元後,
使整組數碼中具有奇數個 1 。
EXIT
2-49
將 57 和 36 轉換成 BCD 碼,並在數碼前加入一個 同位位元,使其成為奇同位碼。 (1) 57 = 01010111(BCD) ,其中 BCD 碼中計有 5 個 1 ,是奇數,故其奇同位位元須加 “ 0” 。 因此, 57 的奇同位 BCD 碼為 001010111 。 (2) 36 = 00110110(BCD) ,其中有偶數個 1 ,故同位 位元須加 “ 1” ,使 BCD 碼具有奇數個 1 。
EXIT 2-51 2-1 2-2 2-3 2-4 13. 試將 01001011 與 11110111 兩組數碼轉成具偶同 位的 9 位元碼。 01001011 → 001001011 (加入 0 使原數為偶數個 1 ) 11110111 → 111110111 (加入 1 使原數為偶數個 1 )