原碼 反碼 補碼 負數的移位

2021-07-25 22:46:37 字數 389 閱讀 5605

正數的原碼、反碼、補碼都相同;

負數的反碼為原碼除符號位,其他位都取反,補碼為反碼加1。

正數的移位(+5為例,左/右移兩位:0000 0101):

左移m位:最左邊的m位將丟棄,同時在最右邊補上零(0001 0100)

右移m位:最右邊的m位將丟棄,同時在最左邊補上零(0000 0001)

負數的移位:由於存在符號位,符號位在移位過程中是不動的(以-5為例,左/右移兩位:1111 1011(-5的補碼表示))

左移m位:符號位不變,從符號位下一位開始,左邊的m位將丟棄,同時,最右邊m位補零。這一點跟正數是一樣的(1110 1100)

右移m位,符號位不變,從符號位下一位開始,右邊的m將丟棄,同時最左邊m位補1。這是跟正數的區別(11111110)

原碼 反碼 補碼及移位運算

同學面試時被問到乙個問題 1右移兩位是幾呢,然後在他思考期間,面試官露出了奇怪的表情 所以趕快複習一下機器碼及移位的相關知識 首先介紹一下概念與規則 1 一般書寫表示的數叫做真值,真值在計算機中的表示方式叫做機器碼。2 正整數用原碼 反碼 補碼三種方式表示時完全一樣,比如1 int型佔4位 的原碼 ...

原碼 反碼 補碼以及負數的表示

原碼 將乙個整數,轉換成二進位制,就是其原碼。如單位元組的5的原碼為 0000 0101 5的原碼為1000 0101。反碼 正數的反碼就是其原碼 負數的反碼是將原碼中,除符號位以外,每一位取反。如單位元組的5的反碼為 0000 0101 5的反碼為1111 1010。補碼 正數的補碼就是其原碼 負...

原碼 反碼 補碼,以及負數的位操作

1 原碼 將符號位數位化了的數,其中 用0 表示,用 1表示。反碼 正數的反碼表示與原碼表示一樣 負數的反碼表示是原碼表示的符號位不變,數值位逐位取反。補碼 正數的補碼表示與原碼表示一樣 負數的補碼表示是原碼表示的符號位不變,數值位逐位取反後最低位加1 反碼表示最低位加1 例 假如以八位二進位制表示...