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

作者: lueichun (no anonymous)   2021-05-11 19:58:53
※ [本文轉錄自 Programming 看板 #1Wcd5CQ0 ]
作者: lueichun (= =) 看板: Programming
標題: [問題] 為什麼互為2的補數的兩個數字,必定是相
時間: Tue May 11 19:58:02 2021
如題,為什麼互為2的補數的兩個數字,彼此一定是相反數呢?
例如0101=5 那麼1011就=-5
01111111=127 那麼10000001就=-127
請問為什麼會這樣呢?
作者: ucrxzero (RX-0)   2021-05-11 21:01:00
定義
作者: wray (Rayf)   2021-05-11 22:31:00
你的相反數是什麼意思?0←→1嗎?你沒發現不盡然嗎?1的補數才會這樣子。原因有二個:1.可以用加負數的方式來實現減法2.用not電路很簡單就可以正變負、負變正。而2的補數你自己查
作者: LPH66 (-6.2598534e+18f)   2021-05-11 23:26:00
數學上的相反數吧
作者: NciscalA   2021-05-12 02:03:00
作者: Lipraxde (Lipraxde)   2021-05-12 08:55:00
A - B = C; A = C + B; C + B - B = C; 要用加法來做出除法的效果時 (- B),相當於要找一個數字與 B 相加等於 0,也就是補數。「A + 補數 B」有溢位時表示 A > B,結果 (C) 為正數,沒溢位時表示 A < B,結果為負數。管他取幾個 not 還是相反數,編碼起來相加等於 0 的就當他是補數就對了。
作者: longlongint (華哥爾)   2021-05-15 09:24:00
前面定義有人補了 我補充跟二補數相加會變0的原因只做0 1 交換的話,兩數相加是全1111…,再多加1就會滿出來變回0

Links booklink

Contact Us: admin [ a t ] ucptt.com