【发布时间】:2023-03-10 16:28:01
【问题描述】:
我很难理解有符号幅度系统中的加法。我读了维基百科,我的笔记,但我仍然不明白。
例如:
在有符号幅度 8 位系统中添加1100 1001 + 1111 1111 是什么?我知道如果操作数的符号位相同,我们只需添加幅度。但结果会与 2 的补码系统中的加法不同。
如果符号位不同怎么办?那么结果的标志是什么?
这是一个例子:
- 1 | 101 1100
+ 0 | 100 0010
--------------
- 1 | 001 1010
结果的符号是1,因为第一个操作数的幅度更大?这是正确的方法吗?
【问题讨论】:
-
你的例子溢出(都是负数,幅度大于2^7,结果幅度大于2^8)
-
你怎么知道第一个例子是溢出?第一个例子的答案是
1100 1000,但它也有一个执行,你是如何确定幅度系统的有符号溢出的? -
在符号大小中,第一位是符号。您必须考虑溢出 7 位(不是 8 位)。
-
对不起,搞砸了。它大于 2^6,因此在我的第一条评论中大于 2^7-
-
好的,现在考虑 7 位的进位是有道理的。但我现在仍然确定不同的符号操作数,看看我的例子,结果是否正确?还是应该是
0001 1010?并且没有符号溢出
标签: computer-science