补码如何代替减法
来源:4-4 二进制的补码表示法

学以致用over
2022-03-28
老师可以讲解一下问什么引进补码可以解决减法的问题吗?
比如 8 - 7 = 1
用原码表示就是:8 - 7
(00001000)2−(00000111)2=(00000001)2
(0000\:1000)_2 - (0000\:0111) _2 = (0000\:0001)_2
(00001000)2−(00000111)2=(00000001)2
用补码代替减法就是:8 + ( -7 )
(00001000)2+(11111001)2=(000100000001)2
(0000\:1000)_2 + (1111\:1001) _2 = (0001\:0000\:0001)_2
(00001000)2+(11111001)2=(000100000001)2
这个不就成 257 了吗?就算存储器大小限制,不也存在溢出问题吗?
写回答
1回答
-
补码为什么可以解决减法问题,这是因为补码在减法的运算里面,将减法和加法的逻辑统一了,只需要将负数转换为补码,然后和加法一样的运算就可以了。
而补码是不能解决溢出问题的,同学举的例子就是最佳正例。012022-03-30
相似问题