整數表示 補碼 原碼 反碼

2021-06-21 16:37:24 字數 772 閱讀 7111

一、補碼

最常見的有符號數的計算機表示方式就是補碼 (two's complement) 形式。在這個定義中,將字的最高位解釋為負權(negative weight)。用函式

最高有效位也成為符號位,他的權重為-2^(w-1),是無符號表示中權重的負數。符號位被置為1時,表示值為負,而當設定為0,值為負數。這裡來看乙個示例。

b2t([0001]) = -0*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 1

b2t([1011]) = -1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = -5

根據定義式,我們可以看出,補碼最小值為[10...0],符號位為1,其他為均為0;最大值剛好相反。

有符號數還有兩種標準的表示方法:

二、反碼

反碼(one's complement)除了最高有效位的權是-(2^(w-1) - 1)而不是 -2^(w-1) ,它和補碼是一樣的

三、原碼

原碼(sign-magnitude)最高有效位是符號位權為1,用來確定剩下的位應該取負權還是取正權

注意:1) 補碼**於這樣的乙個情況,對於非負數x, 我們用 2^w-x 來計算 -x 的 w 位表示。

比如 b2t([1011]) = -5 

= 16-5 = 11 = [1011]

2) 術語反碼**於這樣的乙個屬性,我們用[11...1]-x  來計算 -x 的反碼

符號數表示 原碼 反碼 補碼

計算機中的符號數有三種表示方法,即原碼 反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號位都是用0表示 正 用1表示 負 而數值位,三種表示方法各不相同。在計算機系統中,數值一律用補碼來表示和儲存。原因在於,使用補碼,可以將符號位和數值域統一處理 同時,加法和減法也可以統一處理。此外,補碼與原...

定點數表示方法 原碼,補碼,反碼,移碼

1.真值和機器數 真值 數的實際值,用正負號和絕對值的某進製形式來表示,如 1010,12,ffff等.機器數 真值在計算機中的二進位制表示,特點是符號數位化且數的大小受機器字長限制,其表示形式有原碼,補碼,反碼,移碼等.2.原碼.1 定點小數 left x left x right 1 x le ...

原碼 反碼和補碼 整數運算

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