1.2 進制轉換
10 進制 -> r 進制
格式: (整數、小數)10 => 右下方的 10
1. 整數:
(1) 連除以 r, 直到商數為 0
(2) 由下而上取餘數
2. 小數:
(1) 將小數部分連乘以 r, 直到小數部分為 0
(2) 由上而下取整數
Note: 電腦儲存長度有限,故結果會產生截尾誤差
- 例 1: 10 -> r, (43.375)10 = ()2 = ()4 = ()8 = ()16
-
2 進制:
= (101011.011)2 -
4 進制:
= (223.12)4 -
16 進制:
= (2B.6)16
-
Note:
-
例 2: 下列何者無法以 2 進制精確表示法?
=> ( check: 將分數約分, 若分母不為 2 的冪次方則謂之)
(A) 2/8 2^2
(B) 3/16 2^4
© 9 7/18 2^2
(D) 2/5Ans: D
-
例 3: (0.4)10 = (0.0110)2 => (0110 上方會加上長線為表示循環數)
Sol:
0.4 * 2 = 0.8
0.8 * 2 = 1.6
0.6 * 2 = 1.2
0.2 * 2 = 0.4
0.4 * 2 = X -
例 4: x = 10/3; y = x * 3; 問為何 y 不等於 10?
Sol: 因為在第一個時間點已經發生截尾誤差
r 進制 -> 10 進制
格式: (Xn....X1 X0 . Y0 Y1...Ym)r
| | | | | | =>(整數.小數)10
r^n+..+r^1+r^0+r^-1+r^-2+r^-m
- 例: (B2.C)16 = (178.75)10
Sol:
= 11 * 16^1+2 * 16^0+12 * 16^-1
= 176 + 2 + 12/16
= 178.75
2 的冪次方系統互換
Case1: 2^0, 2^1, 2^2....2^n
將 2 -> 4, 8, 16 進制
將每 2 3 4 bits 為一單位作轉換
Case2: 4, 8, 16 -> 2 進制
將一數值用 4 3 2 個 bits 表示之
Note:
-
整數由右往左數, 不足左邊補 0
-
小數由左往右數, 不足右邊補 0
-
例 Case1:
(001100100.011010)2
= (1210.1222)4
= (144.324)8
= (64.6A)16 -
例 Case2:
(AB.2F)16 = (253.136)8
(010101011.001011110)2
數值運算(+, -, *, /)
-
例 1: (EACB)16 + (OAD2)16 = (172635)8
Sol:
Case2 => (001111010110011101)2 Case1 => (1 7 2 6 3 5)8
-
例 2: (12CA)16 + (OD9C)16 = (110232)4
Sol:
Case2 => (0000010100101110)2 Case1 => (0 0 1 1 0 2 3 2)4
-
例 3: (9)10 + (9)10 = (1010001)2
Sol: (9)10 * (9)10 = (81)10 = (1010001)2 -
例 4: (CB.A)16 -> (203.625)10
Sol: CB.A = 16^1 * C + 16^0 * B + 16^-1 * A
= 12 * 16 + 11 * 1 + 10 * 1/16
= 192 + 11 + 5/8
= (203.625)10