如何用二进制计算-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 的补码,而是使用有偏差指数的符号量值。
我需要有关浮点数二进制减法的帮助。我必须做 -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 的补码,而是使用有偏差指数的符号量值。