Re: [問題] 數字系統
※ 引述《veck (DreamMe)》之銘言:
: The following binary have a sign in the leftmost bit and negative, are in 2's
: complement form. Which one in the following computation has overflow occured?
: (A) 100111+111001
: (B) 001011+100110
: (C) 110001-010010
: (D) 101110+001011
: 我算的答案是A會產生溢位
: 但是答案是(C)
: 我看了一下(C)的解是這樣的:
: 110001+101110 = [1]011111 →做捨棄→做2的補數→十進位轉換 = -33
: (-15) (-18)
: 我是買坊間的書
: 不知道有沒有錯
: 還是我自己搞錯?
2's complement 的加法
1.直接相加 (包含sign bit)
2.sige bit的進位直接刪掉
A.
100111
+ 111001
--------
1100000
↑sign bit的進位 刪掉
所以變成100000 (-32)
B.
001011 (11)
+100110 (-26)
---------
110001 (-15)
C.
2's complement 的減法
1.先取減數的2's complement
2.再和被減數相加
110001-010010 = =110001+101110
110001 (-15)
+ 101110 (-18)
-------------
1011111
↑
sign bit要去掉
所以變成011111 (變成正的!! 所以有溢位)
D.
101110 (-18)
+001011 ( 11)
-------
111001 ( 7)
p.s 其實我覺得換成10進位 再去判斷有沒有溢位比較快....
2's complement 能表示的數 -(2^(n-1))~(2^n -1)
--
∩____ ∩ 原作GothicMetal 修圖joan091355
|ˊ _ _ˋ| 狛村,原來你這麼醜阿? ∮◣▁▂▃▂▁◢∮ 東
◢ =''= ◣ ▼\ | /▼ 仙
< ≡(_●_)≡ > 狛村:東仙… 爪 ▲ ◣\|/◢ ▲ 虛
__◥ ︿ ◤__ 你確定我比較醜? ◥▇▼/ \▼▇◤ 化
▼ ︶ ▼ 我看隔壁棚的Decade都比你帥 ▇▆◣︼◢▆▇ 爪
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.250.186
推
01/31 23:41, , 1F
01/31 23:41, 1F
討論串 (同標題文章)