這兩天在復習計算機組成原理,看到補碼部分,把我搞暈了。。求大佬們幫一下。。書中有個例題是這樣描述的:求出補碼的位數為n時-2^n-1的補碼表示當補碼的位數為n位時,-2^n-1=< X真 <2^n-1當補碼的位數為n位時,其模為2^n.[-2^n-1]補 = 2^n-2^n-1 = 2^n-1 = 1 0...0 (n-1個0)(mod 2^n) 這個公式的后半部分是什么意思?。壳鞍氩糠治抑朗歉鶕?X真 = 2^n + X真推導出來的,可是后面的2^n-2^n-1為什么等于2^n-1?還有最后的1 0...0(n-1個0)是怎么得出來的?或者說為什么這樣寫?求各路大神指教,我找了很多視頻,都是只教怎么求反碼、補碼,沒有解釋這個公式的...
2 回答

哆啦的時光機
TA貢獻1779條經驗 獲得超6個贊
取 n = 8, 你的問題就變為 -128 的補碼為什么 是 1000 0000
忘掉 所謂的補碼計算公式吧 -> (正數不變,負數除符號位之外,其余各位取反,最后+1)
補碼的本質 同余
同余 運算了解哇?
1 ≡ 257 (mod 256) 0 ≡ 256 (mod 256) -1 ≡ 255 (mod 256) -> -1 的補碼是 255: 1111 1111-2 ≡ 254 (mod 256) -> -2 的補碼是 254: 1111 1110
所以
-128 ≡ 128 (mod 256) -> -128 的補碼是 128: 1000 0000

qq_笑_17
TA貢獻1818條經驗 獲得超7個贊
說的遠一點,數軸上任何一個整數都可以通過加減 256的整數倍 跳到0-255之間,它最后落到的位置就是它的補碼
比如計算機存儲 -1, 實際就是存儲的 255:1111 1111
- 2 回答
- 0 關注
- 1368 瀏覽
添加回答
舉報
0/150
提交
取消