PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
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
可以看看这个
https://hackmd.io/@sysprog/binary-representation?t
ype=view
作者:
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
继续阅读
[问题][QT] 如何解压缩到自己程式的变量里
liu2007
[问题] c语言 有关scanf不加取址符&
ZephyrusLin
Re: [问题] 一个读取 uart 的 process
jimmytzeng
[问题] 2D 阵列之内存位址有移位情形
gowrite
[问题] struct array 存值错乱
kingfsg7326
[问题] bit位移请教
IOP14759
[问题] 红黑树construct设root = nil遇到的问题
superme7
[问题] 一个读取 uart 的 process
gn00618777
[问题] Quicksort选mid为pivot出现问题
superme7
Re: [问题] Code::Blocks环境#import MSXML问题
LPH66
Links
booklink
Contact Us: admin [ a t ] ucptt.com