回覆列表
  • 1 # 使用者1465424935672

    對於一個數, 計算機要使用一定的編碼方式進行儲存. 原碼, 反碼, 補碼是機器儲存一個具體數字的編碼方式.

    1. 原碼

    原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其餘位表示值. 比如如果是8位二進位制:

    [+1]原 = 0000 0001

    [-1]原 = 1000 0001

    第一位是符號位. 因為第一位是符號位, 所以8位二進位制數的取值範圍就是:

    [1111 1111 , 0111 1111]

    [-127 , 127]

    原碼是人腦最容易理解和計算的表示方式.

    2. 反碼

    反碼的表示方法是:

    正數的反碼是其本身

    負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反.

    [+1] = [00000001]原 = [00000001]反

    [-1] = [10000001]原 = [11111110]反

    可見如果一個反碼錶示的是負數, 人腦無法直觀的看出來它的數值. 通常要將其轉換成原碼再計算.

    3. 補碼

    補碼的表示方法是:

    正數的補碼就是其本身

    負數的補碼是在其原碼的基礎上, 符號位不變, 其餘各位取反, 最後+1. (即在反碼的基礎上+1)

    [+1] = [00000001]原 = [00000001]反 = [00000001]補

    [-1] = [10000001]原 = [11111110]反 = [11111111]補

    對於負數, 補碼錶示方式也是人腦無法直觀看出其數值的. 通常也需要轉換成原碼在計算其數值.

  • 中秋節和大豐收的關聯?
  • 《全職高手》動畫新作究竟什麼時候上映?有什麼值得期待的亮點?