补码如何代替减法

来源: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回答

咚咚呛

2022-03-30

补码为什么可以解决减法问题,这是因为补码在减法的运算里面,将减法和加法的逻辑统一了,只需要将负数转换为补码,然后和加法一样的运算就可以了。
而补码是不能解决溢出问题的,同学举的例子就是最佳正例。

0
1
学以致用over
非常感谢!
2022-03-30
共1条回复

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程