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