先决条件 – IEEE 标准 754 浮点数
问题:-
在这里,我们讨论了将两个浮点数 x 和 y 相乘的算法。
算法:-
- 以科学记数法转换这些数字,以便我们可以明确表示隐藏的 1。
- 让’a’ 是x 的指数,’b’ 是y 的指数。
- 假设结果指数 c = a+b。可以在下一步后进行调整。
- 将 x 的尾数乘以 y 的尾数。称这个结果为 m。
- 如果 m 的小数点左侧没有单个 1,则调整小数点使其如此,并调整指数 c 以进行补偿。
- 添加符号位,mod 2,以获得结果乘法的符号。
- 转换回一字节浮点表示,如果需要截断位。
笔记 :
负值在浮点乘法中很容易处理。将符号位视为 1 位无符号二进制,加上 mod 2。这与对符号位进行异或相同。
例子 :-
假设您想将以下两个数字相乘:
现在,这些是根据上述算法的步骤:
- 给定,A = 1.11 x 2^0 和 B = 1.01 x 2^2
- 因此,指数 c = a + b = 0 + 2 = 2 是结果指数。
- 现在,将 1.11 乘以 1.01,结果将是 10.0011
- 我们需要将 10.0011 归一化为 1.00011 并适当地将指数 1 调整为 3。
- 结果符号位 0 (XOR) 0 = 0,表示正。
- 现在,将其截断并标准化为 1.00011 x 2^3 到 1.000 x 2^3。
因此,结果数是,
同样,我们可以乘以其他浮点数。