先看一下常見資料給出的定義:(8位整型)
原碼:-127~127
乙個二進位制數左邊加上符號位後所得的碼。最高位為符號位,"0"表示正,"1"表示負。
反碼:-127~127
正數的反碼——與原碼相同。
負數的反碼——符號位為「1」,數值部分按位取反。
補碼:-128~127
正數的補碼——與原碼相同。
負數的補碼——將其原碼除符號位之外的所有位取反後加1。即「反碼+1」。
原碼:用於計算機處理資料、並區分正負數。
補碼:用於計算機運算減法。(減乙個數,變成加這個負數的補碼,如:10-2 變成 10 + (-2的補碼)
**:
由補碼,求原碼:
正數:補碼和原碼相同;
負數:補碼先減一,得到反碼,反碼除符號位外,取反,再得到原碼。和原碼求補碼的過程正好反過來;
或者,求負數補碼,直接用「左右找1, 1不變,中間取反求得」就是找到該補碼的左邊和右邊的第乙個1,然後左邊和右邊的第乙個1都不變,再把這兩個1中間的數都取反,就得到其原碼了;
原碼 反碼和補碼
數值有正負之分 計算機就用乙個數的最高位存放符號 0為正 1為負 這就是機器數的原碼了 假設機器能處理的位數為 8.即字長為 1byte,原碼能表示數值的範圍為 127 0 0 127 共256個.有了數值的表示方法就可以對數進行算術運算 但是很快就發現用帶符號位的原碼進行乘除運算時結果正確 而在加...
原碼 反碼 和 補碼。
這裡只講下自己對反碼的理解。大家都知道使用反碼表示負數有兩個優點,1.可以使得減法可以和加法一樣。2.符號位也參與了運算。那這是為什麼呢?下面可以進行一些簡單的數學推導 根據反碼定義,對於負數,反碼是除符號為以外取反 1。例如,4 變換步驟如下。a 4 0 000 0100 b 取反 0 111 1...
原碼 補碼和反碼
1 原碼表示法 原碼表示法是機器數的一種簡單的表示法。其符號位用0表示正號,用 表示負號,數值一般用二進位制形式表示。設有一數為x,則原碼表示可記作 x 原。例如,x1 1010110 x2 一1001010 其原碼記作 x1 原 1010110 原 01010110 x2 原 1001010 原 ...