前言: 規定將乙個二進位制數的最高位作為符號位,用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是機器數 計...