Fw: [問題] 為什麼互為2的補數的兩個數字,必定是相

看板C_and_CPP (C/C++)作者 (= =)時間5年前 (2021/05/11 19:58), 編輯推噓3(3014)
留言17則, 6人參與, 最新討論串1/2 (看更多)
※ [本文轉錄自 Programming 看板 #1Wcd5CQ0 ] 作者: lueichun (= =) 看板: Programming 標題: [問題] 為什麼互為2的補數的兩個數字,必定是相 時間: Tue May 11 19:58:02 2021 如題,為什麼互為2的補數的兩個數字,彼此一定是相反數呢? 例如0101=5 那麼1011就=-5 01111111=127 那麼10000001就=-127 請問為什麼會這樣呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.167.40.196 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1620734284.A.680.html ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: lueichun (1.167.40.196 臺灣), 05/11/2021 19:58:53

05/11 21:01, 5年前 , 1F
定義
05/11 21:01, 1F

05/11 22:31, 5年前 , 2F
你的相反數是什麼意思?0←→1嗎?你沒發現不盡然嗎?1的補
05/11 22:31, 2F

05/11 22:32, 5年前 , 3F
數才會這樣子。原因有二個:1.可以用加負數的方式來實現減法
05/11 22:32, 3F

05/11 22:34, 5年前 , 4F
2.用not電路很簡單就可以正變負、負變正。而2的補數你自己查
05/11 22:34, 4F

05/11 23:26, 5年前 , 5F
數學上的相反數吧
05/11 23:26, 5F

05/12 02:03, 5年前 , 6F
可以看看這個
05/12 02:03, 6F

05/12 02:03, 5年前 , 7F

05/12 02:03, 5年前 , 8F
ype=view
05/12 02:03, 8F

05/12 08:55, 5年前 , 9F
A - B = C; A = C + B; C + B - B = C; 要用加法來做
05/12 08:55, 9F

05/12 08:55, 5年前 , 10F
出除法的效果時 (- B),相當於要找一個數字與 B 相加等
05/12 08:55, 10F

05/12 08:55, 5年前 , 11F
於 0,也就是補數。「A + 補數 B」有溢位時表示 A > B
05/12 08:55, 11F

05/12 08:55, 5年前 , 12F
,結果 (C) 為正數,沒溢位時表示 A < B,結果為負數。
05/12 08:55, 12F

05/12 08:55, 5年前 , 13F
管他取幾個 not 還是相反數,編碼起來相加等於 0 的就
05/12 08:55, 13F

05/12 08:55, 5年前 , 14F
當他是補數就對了。
05/12 08:55, 14F

05/15 09:24, , 15F
前面定義有人補了 我補充跟二補數相加會變0的原因
05/15 09:24, 15F

05/15 09:25, , 16F
只做0 1 交換的話,兩數相加是全1111…,再多加1
05/15 09:25, 16F

05/15 09:26, , 17F
就會滿出來變回0
05/15 09:26, 17F
文章代碼(AID): #1Wcd5-XP (C_and_CPP)
文章代碼(AID): #1Wcd5-XP (C_and_CPP)