機器數之原碼 反碼 補碼

2021-07-27 00:17:54 字數 1339 閱讀 1745

前言:  規定將乙個二進位制數的最高位作為符號位,用0表示正,用1表示負。

機器數:在機器內部存放的正負號數碼後的數。

真值:在機器外部存放的由正負號表示的數。

一、原碼

表示方法:  符號位——用0表示正,用1表示負。

特點:數值部分與該二進位制真值的數值部分相同。

注意:(1)0的原碼有兩種形式,

+0的原碼為00000000b;-0的原碼為10000000b。

(2)長度為乙個位元組的原碼,其取值範圍是-127(11111111)~127(01111111)。

【例1】

+5的原碼為00000101b。

【例2】

-6的原碼為10000110b。

二、反碼

表示方法:  正數的反碼,與原碼相同;

負數的反碼,符號位為1,數值位為原碼的數值位按位取反。

注意:(1)0的反碼有兩種形式,

+0的反碼為00000000b;-0的反碼為11111111b。

(2)長度為乙個位元組的反碼,其取值範圍是-127(11111111)~127(01111111)。

【例1】

+5的反碼為00000101b。

【例2】

-6的反碼為11111001b。

三、補碼

表示方法:  正數的補碼,與原碼相同;

負數的補碼,為反碼的末位加1。

注意:(1)0的補碼只有一種形式,

+0的補碼為00000000b;-0的補碼為00000000b。

(2)長度為乙個位元組的補碼,其取值範圍是-128~127。

==八位二進位制數一共有256種編碼,用128個表示負數,一半表示零和正數。

--128個負數,-128~-1;128個零和正數,0~127。

【例1】

+5的補碼為00000101b。

【例2】

-6的補碼為11111010b。

特點:兩個數的補碼之和等於和的補碼,

求和時符號位直接參加運算。

【例3】

[5]補 + [-6]補 = 00000101b + 11111010b = 11111111b = [-1]補

【例4】已知某數x的補碼為11101110b,試求其真值。

解析:  負數的原碼應為補碼最低位減一后取反,但對二進位制來說,先減1再取反和先取反再加1得到的結果是一樣的,故可採用取反加1的方法。

解:由[x]補=11101110b可知,x為負數,故可採用取反加1的方法求其原碼。

補碼:11101110

取反(符號位不變,數值位取反): 10010001

原碼(末位加1):10010010

真值:-0010010,即-18

機器數 原碼 反碼 補碼

原碼是什麼?原碼就是早期用來表示數字的一種方式 乙個正數,轉換為二進位制位就是這個正數的原碼。負數的絕對值轉換成二進位制位然後在高位補1就是這個負數的原碼 舉例說明 int型別的 3 的原碼是 11b b表示二進位制位 在32位機器上佔四個位元組,那麼高位補零就得 00000000 00000000...

微機 機器數的原碼 反碼 補碼

機器數 在機器中,用二進位制表示有符號數,用最高位表示符號,其餘的為數值位,這樣一組連同符號也編碼化的二進位制數稱為機器數。符號位 0為正,1為負 真值 機器數所代表的數值大小稱為機器數的真值 即實際的值,有正負,例如 1000 0001的真值 為 000 0001 1 1000 0001即為機器數...

計算機之機器數,真數,原碼,反碼,補碼

乙個數在計算機中的表現形式叫做機器數,這個數有正負之分,在計算機中用乙個數的最高位 符號位 用來表示它的正負,其中0表示正數,1表示負數。例如正數7,在計算機中用乙個8位的二進位制數來表示,是00000111,而負數 7,則用10000111表示,這裡的00000111和10000111是機器數 計...