7. 777.312510轉換成二進位、八進位及十六進位 777.312510 = ( 1100001001.0101 )2 777.312510 = ( 1411.24 )8 777.312510 = ( 309.5 )16
777.312510轉換成二進位 777.312510 = (1100001001.0101)2 基底值 整數部分: 餘數 小數點後第一位:0 2 777 0.3125 X 2 = 0.625 2 388 1 (最小位數,個位數) 2 194 小數點後第二位:1 2 97 0.625 X 2 = 1.25 2 48 1 小數點後第三位:0 2 24 0.25 X 2 = 0.5 2 12 小數點後第三位:1 2 6 0.5 X 2 = 1.0 2 3 2 1 1 結果小數部分為零,停止 1 (最大位數) 所以 0.312510 = 0.01012 所以 合併結果得 777.312510 = 1100001001.01012 77710 = 11000010012
777.312510轉換八進位及十六進位 777.312510 = (1100001001.0101)2 將二進位數字(1100001001.0101)2 轉換成八進位數字 整數部分 小數部分 由右向左3個一組 由左向右3個一組 1 100 001 001 010 100 補足三位數,須補兩個零 1 4 1 1 2 4 因此 1100001001.01012 = (1411.24)8
777.312510轉換成十六進位 777.312510 = (1100001001.0101)2 將二進位數字(1100001001.0101)2 轉換成十六進位數字 整數部分 小數部分 由右向左 4 個一組 由左向右 4 個一組 11 0000 1001 0101 補足 4 位數 3 0 9 5 因此 777.312510 = ( 309.5 )16
8. 請分別以帶符號大小、1’s 補數和 2’s 補數這 3 種表示法,表達十進位的 –125(假設位元長度為8) -12510 11111101 ; 10000010 ; 10000011 1. 先取-125的正數部分125。 2. 將125轉換成7個位元的二進位數1111101。 3. 最左邊加上符號位元為1,結果為11111101。 1’s 補數 = 整數部分: 餘數 2 125 2 62 1 (最小位數,個位數) 2 31 2 15 1 2 7 1 2 3 1 2 1 1 1 (最大位數) 負數的符號位元為:1 正數125 轉換成7個位元的二進位,因此 -125 的帶符號大小表示法為11111101。
以1’s補數表示法表達十進位的 -125 (假設位元長度為8) 1.先取 -125 的正數部分 125。 2. 將 125 轉換成 8 個位元的二進位數 01111101. 3. 將每個位元加以反相,結果為10000010 。 0 1 1 1 1 1 0 1 正數125 的二進位 1 0 0 0 0 0 1 0 位元反相 因此 -125 的 1’s 補數表示法為10000010。
以2’s補數表示法表達十進位的 -125 (假設位元長度為8) 1.先取 -125 的正數部分 125。 2. 將 125 轉換成 8 個位元的二進位數 01111101. 3. 先求出其1’s補數值,將每個位元加以反相,結果為10000010。 4. 最後加 1 就得出 2’s 補數值。 0 1 1 1 1 1 0 1 正數125 的二進位 1 0 0 0 0 0 1 0 位元反相, 1’s 補數值 + 1 加1 1 0 0 0 0 0 1 1 2’s 補數值 因此 -125 的 2’s 補數表示法為10000011。
10. 請以 IEEE 單精準度格式表示十進位 -84.5,並寫出完整的計算過程。 1. 此數為負數,因此符號位元 = 1。 2. 將 84.5 轉換成二進位:1010100.12。 3. 正規化:1010100.12 = 1.0101001 × 26。 4. 指數加上偏移值再轉成二進位:6 + 127 = 133 = 100001012。 5. 省略小數點左邊的 1 不儲存,取出小數部分0101001,後面再補 16個 0 共 23 個位元。 6. 將 3 個部分組合即得:1 10000101 0101 0010 0000 0000 0000000。