这是示例(我已提前将它们转换为十进制)。
A 是 01000001000010000000000000000000^2(十进制 8.5)
B 是 01000000000100000000000000000000^2(十进制 2.25)
((+A)-(+B)) 应该是十进制的 6.25。规范化 A 和 B 并匹配指数。
A = 1.00010 * 2^3
B = 0.01001 * 2^3
我可以在纸上减去这个,如下所示。
1.00010 * 2^3
- 0.01001 * 2^3
'---------------
0.11001 * 2^3
这是 110.01^2,十进制是 6.25。
我的问题是 CPU 是如何解决这个问题的?我知道 CPU 会将 B 转换为二进制补码并添加负 B。但每次我尝试这样做时,我都会得到 6.75 作为答案。有人可以告诉我 CPU 如何将 B 转换为两个补码以获得负数,然后添加到 A 以获得 6.25 作为答案。谢谢