原碼轉各種碼
- 正數的原碼,補碼,反碼相同;
- 負數的反碼:原碼的數值取反;
- 負數的補碼:原碼轉換成反碼,反碼末位加1
- 負數的移碼:與補碼的符號位(第一位數字)相反
補碼轉原碼
- 最高位如果是1的話(負數),那麼除了最高位之外的取反,然後加1得原碼
- 最高位如果是0的話,不變,正數的補碼就是他的原碼
二進制轉十進制(按權展開法)
- eg:N = (01100101)= 1 * 2^6 + 1 * 2^5 + 1* 2^2 +1 = 101
十進制轉二進制
- 整數(重複相除法)
- 小數(重複相乘法)
浮點數:
- 單精度浮點數:4字節、32位(float)
- 雙精度浮點數:8字節、64位(double)
浮點數規格化:
例題:
浮點數字長16位,階碼5位,位數11位
十進制13/128表示二進制浮點數
原碼 = 反碼 = 補碼 = 0.0001101000
浮點數規格化:x = 0.1101000 * 2^-11
尾數:1101000000
尾數符:0
階符:1
階碼:0011
對應下表
階碼符號位 | 階碼數值位 | 尾數符號位 | 尾數數值位 |
---|---|---|---|
1 | 0011 | 0 | 1101000000 |