原碼、反碼、補碼、移碼

原碼轉各種碼

  • 正數的原碼,補碼,反碼相同;
  • 負數的反碼:原碼的數值取反;
  • 負數的補碼:原碼轉換成反碼,反碼末位加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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章