計算機組成原理 原碼 反碼和補碼

2021-10-04 14:52:16 字數 815 閱讀 3296

機器字長:暫存器的位數(計算機的數均存放於暫存器中)

若機器字長為16位:

有符號數的範圍為-2^15 — 2^(15) - 1

(注意:-2^15在原碼中是無法表示的,但在計算機儲存的補碼形式可以表示)

無符號數的範圍為0 — 2^(16) -1

用0表示正號,用1表示負號:-1100(真值) -> 11100(機器數)

原碼

x = +1110時 [x]原 = 0,1110

x = -1110時 [x]原 = 1,1110 (逗號只是為了區分符號位實際不存在)

x = 0.1101時 [x]原 = 0.1101

x = -0.1101時 [x]原 = 1,1110(注意不是10.1101,因為0並不是有效資料位)

若字長為n+1,原碼整數的表示範圍:

補碼

對於純整數:

對於純小數:

原碼、反碼和補碼的關係:

正數,原碼=反碼=補碼

負數,原碼符號位不變其他位取反為反碼,反碼+1為補碼

例題:

已知某機器字長為8位(含一位符號位),令a = 15,b =24, 求a-b

分析:計算機中的運算我們一般採用補碼運算

【a】補=00001111

【b】補=00110000

如果用[a]補-[b]補,顯然減不了,這裡我們可以根據乙個基本公式

[a]補+ [b] 補= [a + b]補

[a]補 - [b]補 = [a]補 + [-b]補=[a-b]補

計算機組成原理 原碼 反碼 補碼 移碼

原碼 正數的原碼 反碼 補碼 都相同,負數的原碼 符合位為1 其他位和正數原碼相同 負數的反碼 符號位不變 數值為 按位取反 負數的補碼 負數反碼 1 對乙個數做 取補運算 對該數各位 含符號位 取反 然後在末位 1 補碼性質 對 y 補 作取補運算可得 y 補。對 y 補 作取補運算可得 y 補。...

計算機組成原理 真值,原碼,補碼,反碼,移碼

就是現實中的數字 二進位制 必須有 實際中整數捨棄了 eg 1101010001 1010001111計算機中唯一標識乙個真值,但是不能用於計算以及無法實現減法,會產生二異性 0,0 求法 正數的原碼是其補全位數後前面加0,負數的原碼是是其補齊位數後去掉 在前面加1 eg 真值 10000101 1...

重溫計算機組成原理 原碼 反碼 補碼 移碼

原碼 true form 是一種計算機中對數字的二進位制定點表示方法。原碼表示法在數值前面增加了一位符號位 即最高位為符號位 正數該位為0,負數該位為1 0有兩種表示 0和 0 其餘位表示數值的大小。原碼不能直接參加運算,可能會出錯。例如數學上,1 1 0,而在二進位制中 原碼00000001 10...