二进制运算0-1=1为什么 请详细回答

如题所述

减法?
先应该学加法。

二进制运算:1 + 1 = 10
如果,限定为一位数,那就是 1 + 1 = 0。

当已知 1 + 1 = 0,把其中的一个 1,移动到等号右边,变成-1,
即有:1 = 0 - 1。

这就和楼主给出的等式,相符了。

证明完毕。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-05
因为你用了借位。实际是二进制10-01=01
比如十进制 0-5=5,实际是10-5=5.追问

那0被借位后变成什么了

追答

0被借位就变成1了。
因为0不够1借,所以又向高位去借。直到超出了CPU位数。比如有8位16位32位64位的CPU。
最终的结果是0-1= 11111111(8位)
最终的结果是0-1= 1111111111111111(16位)。
总之,你的到的结果都是-1.
只有在一位cpu的情况下,-1和1才是都用1来表示。

追问

怎么用补码算11111111 1111111111111111
的补码都是-1?

追答

负数补码=正数反码+1.
-1的补码为+1的反码+1.
对于8位的cpu ,1=0000 0001,反码为1111 1110,补码为 1111 1111
16位的cpu就是1=0000 0000 0000 0001,反码为1111 1111 1111 1110,补码为 1111 1111 1111 1111

第2个回答  2018-09-11
二进制1+1=10
第3个回答  2013-04-05
我想知道。。你用什么编程语言算出的。。。
相似回答