原碼 反碼和補碼的詳細運算過程

2021-09-08 21:54:58 字數 742 閱讀 2210

在計算機內,有符號數有3種表示法:原碼、反碼和補碼,所有資料的運算都是採用補碼進行的。

原碼:二進位制定點表示法,即最高位為符號位,『0』表示正,『1』表示負,其餘位表示數值的大小。

反碼:正數的反碼與其原碼相同,負數的反碼是對其原碼逐位取反,但符號位除外。

補碼:正數的補碼與其原碼相同,負數的補碼是在其反碼的末尾加1。

例如:分別用原碼、反碼和補碼表示+7和-7

先計算得到7的二進位制數為111

原碼:

符號位數值位+70

0000111-71

0000111

反碼:

符號位數值位+70

0000111-71

1111000

補碼:

補碼:

符號位數值位+70

0000111-71

1111001

注:負數的補碼在加1後可能導致符號位變化

如: 0  1111111在末尾加1  得到  1   0000000

練習:已知某數的原碼為10110100b,試求該數的反碼和補碼。

符號位數值位原碼1

0110100反碼1

1001011補碼1

1001100

已知某數的補碼為11101110b,試求其原碼。

符號位數值位補碼1

1101110反碼1

1101101原碼1

0010010

運算(原碼 補碼 反碼)

表示不帶符號向右移動二進位制數,移動後前面統統補0 兩個箭頭表示帶符號移動,沒有 這種運算子,因為左移都是補零,沒有正負數的區別。如 12 的二進位制為 1111 1111 1111 1111 1111 1111 1111 0100 12 3 即帶符號右移3位,結果是 1111 1111 1111 ...

原碼 反碼和補碼 整數運算

下文以8位整數為例,第一位表示符號位,0為正,1為負 編碼說明 所有整數的原碼 反碼 補碼都相同。負數的反碼和補碼的符號位都不改變,反碼其它位求反,補碼其它位求反後再加1。同乙個二進位制數在不同編碼中的解釋可能不同,一般來說,0開頭的8位資料在三種編碼中解釋相同,而以1開頭的則解釋不同 1 原 00...

原碼 反碼 補碼運算規則

在學習原碼,反碼和補碼之前,需要先了解機器數和真值的概念.1 機器數 乙個數在計算機中的二進位制表示形式,叫做這個數的機器數。機器數是帶符號的,在計算機用乙個數的最高位存放符號,正數為0,負數為1.比如,十進位制中的數 3 計算機字長為8位,轉換成二進位制就是00000011。如果是 3 就是 10...