1. 程式人生 > >原碼、反碼和補碼的計算

原碼、反碼和補碼的計算

  • 原碼:就是二進位制點表示法,正數最高位是0,負數最高位是1,其餘位表示數值大小
  • 反碼:正數的反碼與原碼相同;負數的反碼符號位不變,其餘位和原碼相反
  • 補碼:正數的補碼和原碼相同;負數的補碼等於其反碼的末尾+1,

在計算機內,所有資料的運算都是採用補碼進行的

例1.已知某數x的原碼為10110100,求x的補碼和反碼?
從最高位是1可以看出,這是一個負數的原碼

操作 符號位 數值位
原碼 1 011 0100
反碼 1 100 1011
補碼 (反碼+1) 1 100 1100

例2.已知某數x的補碼為11101110,求其原碼?
最高位是1可知是負數,由於負數的補碼=反碼+1,所以反碼=補碼-1,最後再根據反碼求其原碼。

操作 符號位 數值位
補碼 1 110 1110
反碼(補碼-1) 1 110 1101
原碼(反碼取反) 1 001 0010