【问题标题】:Addition in signed magnitude system in Computer Science计算机科学中符号幅度系统的加法
【发布时间】: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


【解决方案1】:

这正是您手动进行加法的方式:如果符号相同,则添加经度;它们是否不同,检查哪个具有较大的量级(即结果的符号),并从较大的量级中减去较小的量级。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    相关资源
    最近更新 更多