軟考中的原碼 反碼 補碼和移碼

2021-07-02 02:09:03 字數 942 閱讀 4827

各種數值在計算機中表示的形式稱為機器數,其特點是採用二進位制計數制,數的的符號用0和1表示。為了方便計算機運算,將帶符號的機器數用原碼、反碼、補碼和移碼等不同的編碼方法進行運算。機器數對應的實際數值稱為數的真值。

[以下示例採用8位二進位制進行舉例]

示例:+34   -34    

原碼的表示方式:

[+34]=0 0010010     [-34]=1 0010010

通過示例我們可以看出,+32與-32 只有首位(紅色字型0/1)不一樣,所以在正負數表示原碼中只有首位不同,其他位上的數都是一樣。正數用0表示,負數用1表示。

反碼的表示方式:

在反碼表示中,可以看出,如果是正數的話,反碼的二進位制數與原碼的進製數是一樣的,如果是負數的話,除首位(表示符號)外其他位要按位取反就可以了。

補碼的表示方式:

在補碼表示中,可以看出,如果是正數的話,補碼的二進位制數與原碼、反碼的進製數是一樣的,但如果是負數的話,補碼就必須在反碼末尾的基礎上加1。

原碼[+34]=0 0010010

[-34]=1 0010010

反碼[+34]=0 0010010

[-34]=1 1101101

補碼[+34]=0 0010010

[-34]=1 1101111

移碼[+34]=1 0010010

[-34]=0 1101111

在移碼表示中,可以看出,移碼的顯示結果是將反碼的 結果的符號位按位取反就可以了。

總結:自己剛看這一塊知識的時候,沒有弄明白是怎麼轉變的,通過這次總結。對此理解的非常清楚了。知識的掌握在與總結。

軟考 原碼 反碼 補碼 移碼

在計算機中,資料編碼方式可以有多種,最為常見的有原碼 反碼 補碼 移碼。在進行原碼,反碼,補碼,移碼之間的轉換的時候首先要將他們轉換為二進位制,在下面的講解中以17為例來進行講解。將17轉換為八位數的二進位制為00010001。在原碼中,將最高位用作符號位 0表示正數,1表示負數 其餘各位代表數值本...

原碼 反碼 補碼和移碼

原碼 如果機器字長為n,那麼乙個數的原碼就是用乙個n位的二進位制數,其中最高位為符號位 正數為0,負數為1。剩下的n 1位表示概數的絕對值。例如 x 101011 x 原 00101011 x 101011 x 原 10101011 位數不夠的用0補全。ps 正數的原 反 補碼都一樣 0的原碼跟反碼...

原碼,反碼,補碼和移碼

注意 正數的原 反 補碼都一樣。0的原碼跟反碼都有兩個,因為這裡0被分為 0和 0。如果機器字長為n,那麼乙個數的原碼就是乙個n位的二進位制數有符號數,其中最高位為符號位 正數為0,負數為1。剩下的n 1位為數值位,表示真值的絕對值。凡不足n 1位的,小數在最低位右邊加零 整數則在最高位左邊加零來補...