有符號二進位制數的減法

2021-10-02 06:40:57 字數 834 閱讀 4395

本人的簡單學習過程。。。

題目:十進位制6-12=-6,利用有符號位二進位制寫出來過程。

解題思路:

第一步:把減12變為加負12,利用有符號二進位制表示出來

6-12=6+(-12)=00000110-00001100=00000110+10001100

第二步:將第一步結果分別轉化成補碼(見最下補充)

00000110+10001100=00000110(正數補碼不變)+11110100(負數變補碼)

第三步:將第二步結果兩個補碼相加

00000110+11110100=11111010(補碼)

第四步:將第三步結果轉換成原碼

11111010(補碼)=10000110(原碼)

補充

反 碼=

正數:等於原碼\\ 負數:符號位不變,其餘位數\\ 與原碼相反(0變1,1變0) \end

反碼=⎩⎪⎨

⎪⎧​正

數:等於

原碼負數

:符號位

不變,其

餘位數與

原碼相反

(0變1

,1變0

)​補 碼=

正數:與原碼的反碼相同\\ 負數:在反碼的基礎上加一 \end

補碼={正數

:與原碼

的反碼相

同負數:

在反碼的

基礎上加

一​若有錯誤,歡迎提出,及時改正。

有符號二進位制數的乘法

最近在閱讀 深入理解計算機系統 講到補碼乘法,書上給了乙個例子是三位無符號和補碼的乘法表。其中兩個負數的例子 3位二進位制乘法結果一般需要6為二進位制表達 帶符號數 x 101 3 和y 011 3相乘 結果為110111 9 如果直接算出來十進位制是 9然後轉換為6為二進位制我也能理解,但是我很好...

二進位制的減法

這裡需要說明的是,在計算機中做二進位制數運算時,一定要明確是在多少位的整型前提下進行的,這樣才能夠正確處理位數溢位的問題。其實減法也可以看成加法 6 4 無論加減法總結 補碼相加 結果再求補碼 1表示負 0表示正 在計算機中,負數是使用它的補碼來表示的。所謂補碼,就是反碼 1。所謂反碼,就是二進位制...

有符號數的二進位制數右移

把乙個二進位制數右移n位,規則為 除符號位外,全部右移n位,如果數字是乙個無符號數值,則用0填補最左邊的n位,如果數字是乙個有符號數值,則用1填補最左邊的n位,也就是說如果數字原先是乙個正數,則右移之後在最左邊補n個0 如果數字原先是個負數,則右移之後在最左邊填補n個1。例子 0000 0010 1...