求詳解 補碼,補碼運算

2022-03-03 04:58:35 字數 999 閱讀 8789

1樓:老馮文庫

求解補碼的步驟:

(1) 求解二進位制格式,得原碼;

(2) 如果為正數,補碼=原碼,如果是負數,繼續下一步;

(3) 除符號位外,各位取反;

(4) 最低位加1,最終得到負數的補碼。

假設機器字長為8(一個數的二進位制格式共有8位)。

以9為例,9(= 8+1 = 2的3次方 + 2的0次方)的二進位制格式為 000 1001,符號位為0(0表示正數,1

表示負數),它的原碼為0 000 1001。

由於9是正數,它的補碼等於它的原碼,即0000 1001。

以109為例,它的二進位制格式為110 1101,符號位為0,它的原碼為0 110 1101,它的補碼也就是

0110 1101。

以-9為例,

(1) 它的二進位制格式為000 1001,符號位為1,它的原碼為1000 1001。

(2) 由於-9是負數,繼續下一步。

(3) 除符號位外,各位取反,得1111 0110(最高位是符號位,不取反)。

(4) 最低位加1,得1111 0111。

-9的補碼為1111 0111。

2樓:匿名使用者

正數的補碼為其本身,負數的補碼為其絕對值取反後加1,如為單位元組數,補碼的表示範圍是: -128~+127,109的補碼還是01101101

3樓:沙裡波特

正數的補碼,是其本身。負數的補碼,就用它的正數,減一取反,即可得到補碼。

如,已知:+9 補碼是:0000 1001。

下面求-9 補碼:

先減一:0000 1001 - 1 = 0000 1000;

再取反:1111 0111。所以有:-9 補碼 = 1111 0111。

這不就完了嗎?

求原碼,反碼,補碼,原碼,反碼,補碼和移碼 原碼 1001101,反碼,補碼,移碼各是多少?

內容來自使用者 liangbing609 基本概念在計算機內部表示二進位制數的方法稱為數值編碼,把一個數及其符號在機器中的表示加以數值化,稱為機器數。機器數所代表的數稱為數的真值。表示一個機器數,應考慮以下三個因素 1 機器數的範圍 字長為8位,無符號整數的最大值是 11111111 b 255 d...

C語言求原碼的補碼問題,C語言原碼補碼問題

必須要用無符號數,位運算的規定就是如此,你想,如果有符號是負數,用哪個來位運算,結果呢 進行與運算是判斷該數是否最大的負數,注意補碼的數值範圍,負數比正數多一個,該數為最小負數,表示範圍內沒有對應的正數 通過補碼來求原碼?你以為補碼原碼是一一對應的嗎?八位補碼,可代表帶符號數 128 127。八位原...

補碼求真值,知道補碼怎麼求真值

1.正數,原碼 補碼。2.x 補 10001110,最高位為1,為負數!負數補碼求原碼步驟 假設無符 10001110b 128 8 4 2 142 256d 10001110b 256 142 114 所以,x 補 10001110,求x的真值 114.詳細理論 c語言 補碼.1.任何數值是以補碼...