如何对 IEEE754 中表示的浮点数执行乘法
How to perform a multiplication to a floating point number represented in IEEE754
给定一个浮点数 M 在 IEEE754 中表示为
0 10000000 01010101010101010101010
如何计算 Round(Mx20) 的结果?
我知道如何将 M 翻译成标准化形式,
M = 1.01010101010101010101010(基数 2) x 2^1
但是我不知道如何有效地手算乘法M x 20,因为尾数太多了。
任何提示表示赞赏!
前进的方向是标准 Long Multiplication method,但在基数 2 中:
1.010101010101010101010102•21×20
=1.010101010101010101010102 •21×5•4
=1.010101010101010101010102•21×5 •22
= 1.010101010101010101010102•21 × 1012•22
1.010101010101010101010102 • 21
1012 • 22
× _________________________________
1.010101010101010101010102 • 23
00.000000000000000000000002 • 23
101.010101010101010101010002 • 23
+ _________________________________
110.101010101010101010100102 • 23
然后我们要将尾数舍入到 24 位,以粗体显示:110.101010101010101010100102 • 2 3.
所以结果是 110.10101010101010101012 • 23, 或 1.10101010101010101010100102 • 2 5.
给定一个浮点数 M 在 IEEE754 中表示为
0 10000000 01010101010101010101010
如何计算 Round(Mx20) 的结果?
我知道如何将 M 翻译成标准化形式,
M = 1.01010101010101010101010(基数 2) x 2^1
但是我不知道如何有效地手算乘法M x 20,因为尾数太多了。
任何提示表示赞赏!
前进的方向是标准 Long Multiplication method,但在基数 2 中:
1.010101010101010101010102•21×20
=1.010101010101010101010102 •21×5•4
=1.010101010101010101010102•21×5 •22
= 1.010101010101010101010102•21 × 1012•22
1.010101010101010101010102 • 21 1012 • 22 × _________________________________ 1.010101010101010101010102 • 23 00.000000000000000000000002 • 23 101.010101010101010101010002 • 23 + _________________________________ 110.101010101010101010100102 • 23
然后我们要将尾数舍入到 24 位,以粗体显示:110.101010101010101010100102 • 2 3.
所以结果是 110.10101010101010101012 • 23, 或 1.10101010101010101010100102 • 2 5.