原碼、反碼和補碼的計算
阿新 • • 發佈:2018-11-22
- 原碼:就是二進位制點表示法,正數最高位是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 |