
首先需要了解下三種編碼形式:
計算機的原碼、反碼和補碼
- 原碼:符号位加上真值的絕對值,第一位表示符号,其餘位表示值。
- 反碼:正數的反碼是其本身;負數的反碼是在其原碼的基礎上,符号位不變,其餘位取反。
- 補碼:正數的補碼還是其本身;負數的補碼是在其原碼的基礎上,符号位保持不變,其餘位取反,最後 1。即反碼加1。
對于 5和-5,
- [ 5] = [0101]原 = [0101]反 = [0101]補
- [-5] = [1101]原 = [1010]反 = [1011]補
了解了上面三種編碼形式,将正數變負數,和将負數變正數,就可通過位運算得到。
- 正數取反加一,則變成其對應的負數(補碼表示)
- 負數取反加一,則變為其對應的正數(原碼表示)
即:x_rev = ~x 1
代碼示例:

取反的位運算
相關閱讀
計算機為何采用補碼的形式來表示負數
, 更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!
查看全部