1. 程式人生 > >計算機系統基礎知識02

計算機系統基礎知識02

span 1-1 求和 移除 基礎上 pan 計算機系統基礎知識 展開 數字

數據表示

  

  例如,十進制數1234.56,其數值可計算如下:

    1234.56 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0 + 5 * 10^-1 + 6 * 10^-2

    例如二進制數10100.01B的值可計算如下:

      10100.01B = 1 * 2^4 + 1 * 2^2 + 1 * 2^-2 = 20.25

    例如十六進制數8ABH的值可計算如下:

       8ABH = 8 * 16^2 + 10 * 16^1 + 11 * 16^0


十進制轉二進制

  訣竅:使用‘除二取余’ 法,將余數從下往上排列

    2  86  余  0

      2  43  余  1

      2  21  余  1

      2  10  余  0

      2 5   余  1

      2   2   余 0

         1  

  得到1010110

二進制轉八進制

  訣竅:從右開始,每三位為一組,不夠三位的補0即可。每組按8421 權展開求和,最終得到八位進制數

    11101001 = 351

    8 4 2 1

       0 1 1 -> 3

     1 0 1 -> 5

      0 0 1 -> 1

二進制轉十六進制

  訣竅:從右開始,每四位為一組,不夠三位的補0即可。每組按8421 權展開求和,最終得到十六位進制數

   

      11101001 = E9

       8 4 2 1

      1 1 1 0 -> E

      1 0 0 1 -> 9

 

        1    -1    1-1  最左邊的是位數是符號位,0表示正數,1表示負數。

原碼 0000 00001 1000 0001 1000 0010 1-1運算是兩個數的二進制相加運算,同1相加進1位

反碼  0000 00001 1111 1110 1111 1111 正數原碼,反碼,補碼一致。負數的反碼是原碼除符號位不變,其余取反的結果。

補碼  0000 00001 1111 1111 0000 0000 負數反碼是 反碼基礎上 末位補1.

移碼  1000 00001 0111 1111 0000 0000 正數、負數的移碼是補碼的基礎上,符號位取反。(移除符號位)

補碼是最適合進行數字的加減運算的數字編碼

移碼只用於表示浮點數的階碼,所以只用於整數

計算機系統基礎知識02