4. 資料表示法 4.1 十進位與數字系統 (1). 基本觀念 數字系統的觀念 人們習慣以十進位的計量方式來計算 不同的數字系統有二進位 (Binary) 八進位 (Octal) 十進位 (Decimal) 十六進位(Hexadecimal) 二進位 電腦內部用來表達訊號的資料只有兩種符號 : 0 表示沒電,1 表示有電透過多個電路的組合表示出無數符號, 電腦便利用這些符號來表示不同的數字 利用兩條電線可以表示出 4 種符號 2 2 =4 二進位的系統為 : 逢二即進位, 例如 : 1+1 = 10 數字系統 十進位數字系統 : 以 10 為基數, 逢 10 即進位 二進位數字系統 : 以 2 為基數, 逢 2 即進位 八進位數字系統 : 以 8 為基數, 逢 8 即進位 ( 只能用 0 1 2 3 4 5 6 7 等八種數 ) 十六進位數字系統 :16 為基數, 逢 16 即進位 ( 由 0 1 2 3 4 5 6 7 8 9 A B C D E F 等所組成 ) A=10 B=11 C=12 D=13 E=14 F=15 請問網路卡的實體位址欄位 ( 如 192.168.1.1) 是以何種進位制來表示的, 請說明之? 答 : 十六進位, 每個欄位由 16x16 = 256 個數字所組成, 如 192 即為 C0 利用二進位的系統, 三位數可以表示幾種符號? 答 : 2 3 =8 在二進位的系統中,101+1 =? 答 : 101+1 = 110 在二進位的系統中,101100 + 10110 =? 答 : 1000100 25
(2). 數字系統轉換 位數的表示 任十進位 N,( 包含 p 位整數和 q 位小數 ), 則可表示為 : 通則 十進位轉 r 進位 : 整數部份除以 r, 由下往上取餘數, 小數部份乘以 r, 由上往下取整數 r 進位轉十進位 : 每個位數乘以對應位值後, 全部相加 (3). 二進位 十六進位 二進位 十六進位 以四位一組的方式表示 1100111011010010 = CED2 16 1100110010010000 = CC90 16 (4). 二進位 十進位 步驟 : (1) 二進位的個位數為 2 0, 十位數為 2 1, 以此類推 (2) 將所有的位數乘上位數的值, 並加起來 將下面二進位的轉成十進位為多少 : 10 = 1 2 1 +0 2 0 = 2+0 = 2 10 101 = 1 2 2 +0 2 1 +1 2 0 = 4+0+1= 5 10 11101 = 1 2 4 +1 2 3 +1 2 2 +0 2 1 +1 2 0 = 16+8+4+0+1 = 29 10 26
100111 = 1 2 5 +0 2 4 +0 2 3 +1 2 2 +1 2 1 +1 2 0 = 32+0+0+0+4+2+1 = 39 10 將二進位 (11101.11) 2 轉成十進位為多少? 答 : (29.75) 10 (5). 十進位 二進位 整數步驟 : (1) 利用倒除法, 將十位數的數值除以 2 (2) 直到商數為 0 為止 (3) 則二進位數為由下往上數 小數步驟 : (1) 小數部份乘以 2, 保留乘積的 整數部分 (2) 繼續將所得小數部分乘以 2 (3) 直到所得的小數為 0 時停止 (4) 由第一次取得的整數開始, 由左向右排列 將下面十進位的轉成二進位為多少 : 5 15 將下面十進位的轉成二進位為多少 : 29 27
26 答 : 11010 49 答 : 110001 75 將下面十進位 (29.25) 10 轉成二進位為多少? 答 : (11101.01) 2 0.25*2 = 0.5 ( 第 1 次取得 0) 0.5*2 = 1.0 ( 第 2 次取得 1) 故所得小數為.01 將下面二進位轉成十進位為多少? (1011.1) 2 = ( ) 10 (1101001.011) 2 = ( ) 10 (10011.01011) 2 = ( ) 10 將下面十進位轉成二進位為多少? (8.5) 10 = ( ) 2 (37.75) 10 = ( ) 2 (53.8125) 10 = ( ) 2 (42.2125) 10 = ( ) 2 28
(6). 八進位 十進位 步驟 : (1) 小數點左邊的值為 8 0 8 1 (2) 小數點右邊的值為 8-1 8-2 將下面八進位 (127.3) 8 轉成十進位為多少? 答 : 1*8 2 +2*8 1 +7*8 0 +3*8-1 =64+16+7+3*.0125 = (87.375) 10 (7). 十進位 八進位 (1) 連續除以 8, 並保留 餘數 (2) 直到商數為 0 時停止 (3) 由最後一次產生的餘數開始, 依序由左向右排列 小數部分的步驟 : (1) 小數部份乘以 8, 保留乘積 整數部分 (2) 將所得小數部分乘以 8, 直到所得的小數為 0 停止 (3) 由第一次取得的整數開始, 依序由左向右排列 將十進位 (87.375) 10 轉成八進位為多少? 答 : (127.3) 8 將十進位轉成八進位為多少? (43.625) 10 = ( ) 8 (95.25) 10 = ( ) 8 (1987.453125) 10 = ( ) 8 將八進位轉成十進位為多少? (35.7) 8 = ( ) 10 (53.2) 8 = ( ) 10 (276.57) 8 = ( ) 10 (8). 十六進位 十進位 (1) 小數點左邊的值為 16 0 16 1 (2) 小數點右邊的值為 16-1 16-2 29
將十六進位 (BCE.1E) 16 轉成十進位為多少? 答 : 11*16 2 +12*16 1 +14*16 0 +1*16-1 +14*16-2 = (3022.1171875) 10 (9). 十進位 十六進位 (1) 除以 16, 並保留 餘數 (2) 直到商數為 0 時停止 (3) 由最後一次產生的餘數開始, 依序由左向右排列 (1) 小數部份乘以 16, 保留乘積的 整數部分 (2) 將所得的小數部分乘以 16, 直到小數為 0 時停止 (3) 由第一次取得的整數開始, 依序由左向右排列 (43969.71875) 10 = (ABC1.B8) 16 將十進位轉成十六進位為多少? (95.5) 10 = ( ) 16 (1987.34375) 10 = ( ) 16 將十六進位轉成十進位為多少? (A5.D2) 16 = ( ) 10 (7E6.A84) 16 = ( ) 10 4.2 二進位數字系統 (1). 八進位與二進位間的轉換 基本原則 二進位與八進位互相轉換時以 3 個 1 組為單位轉換 將二進位 (11100001110.101) 2 轉成八進位為多少? 答 : (11100001110.101) 2 = (3416.5) 8 將八進位 (3416.5) 8 轉成二進位為多少? 答 : (3416.5) 8 = (11100001110.101) 2 將八進位轉成二進位為多少? (35.2) 8 = ( ) 2 30
(3642.447) 8 = ( ) 2 將二進位轉成八進位為多少? (11001.11101) 2 = ( ) 8 (100110.101) 2 = ( ) 8 (2). 十六進位與二進位間的轉換 基本原則 二進位與十六進位互相轉換時以 4 個 1 組為單位轉換 將二進位 (11100001110.101) 2 轉成十六進位為多少? 答 : (11100001110.1010) 2 = (70E.A) 16 (3). 十六進位與八進位間的轉換 基本原則 先將八進位轉成二進位, 再由二進位轉成十六進位 將八進位 (346.7) 8 轉成十六進位為多少? 答 : (346.7) 8 =(011100110.111) 2 =(011100110.1110) 2 = (0E6.E) 16 = (E6.E) 16 將十六進位轉成八進位為多少? (3F.4) 16 = ( ) 8 (D38.C26) 16 = ( ) 8 將八進位轉成十六進位為多少? (37.6) 8 = ( ) 16 (5042.452) 8 = ( ) 16 4.3 電腦主要單元 (1). 電腦的相關資料 電腦的名稱 電腦 31