【发布时间】:2020-08-22 18:14:10
【问题描述】:
我需要浮点数的二进制减法方面的帮助。我必须做 -1.10 + 0.0110。
a) 我不明白如何理解-1.10。如果有符号,则最高位必须为“1”。在这里,我不知道位数,因此我不知道 -1.10 左侧是否包含零或一。二进制前加“-”是什么意思?
b) 图片中的 1) 显示了我的减法和检查。显然,我做错了什么。如果我从左边借,我应该在被减数左边的所有位位置都有“1”-s,还是应该只取减数所需的数量?我在这里做错了什么?
c) 在 2) 中我尝试使用二进制补码。我应该补充两个数字,还是只补充减数?我应该在减法后补充它吗?我应该对齐小数点吗?我在这里做错了什么?
结果必须是 1.00,如果在机器添加 2 位后四舍五入。但无论如何我都没有得到 1.00。
你能告诉我如何计算这个特定的例子并回答 a)、b)、c) 中的问题吗?由于我的二元罪,我的数值讲座陷入停顿。
【问题讨论】:
-
因为你得到了符号和大小形式的数字,除非你被告知要使用它,否则我会忘记 2 的补码。你能计算出 -(1.10 - 0.0110) 吗?
-
@PatriciaShanahan 是这样的。我正在努力从一个较小的数字中减去一个更大的数字。允许这样做吗?
标签: floating-point binary subtraction