如何用二进制计算-1.10 + 0.0110?

How to calculate -1.10 + 0.0110 in binary?

我需要有关浮点数二进制减法的帮助。我必须做 -1.10 + 0.0110.

a) 我不明白-1.10是怎么理解的。如果有符号,最高位必须为“1”。在这里我不知道位数,因此我不知道 -1.10 是否在左侧包含零或一。二进制前加“-”是什么意思?

b) 图中的1)是我的减法和校验。显然,我做错了什么。如果我从左边借位,我应该在被减数左边的所有位位置都有“1”-s,还是应该只取减数所需的那么多?我在这里做错了什么?

c) 在 2) 中,我尝试使用二进制补码。我应该补充两个数字,还是只补充减数?我应该在减法之后补回来吗?我应该对齐小数点吗?我在这里做错了什么?

如果在机器加法后四舍五入到2位,结果必须是1.00。但无论如何我都没有得到 1.00。

您能告诉我如何计算这个特定示例并回答 a),b),c) 中的问题吗?由于我的二进制错误,我的数学课陷入停顿。

使用基数 2 数学:

-1.10 + 0.0110 就像 -(1.10 - 0.0110)

1.10 - 0.0110

   1.10
 - 0.0110
 --------
   1.0010   

. 后四舍五入到 2 位,1.0010 变为 1.00 或 1.01。在中途,典型的四舍五入是 even 值。

   1.00   

从头开始应用-,最终答案:

  -1.00

浮点编码绝大多数不使用 2 的补码,而是使用有偏差指数的符号量值。