本人的簡單學習過程。。。
題目:十進位制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...