代码之家  ›  专栏  ›  技术社区  ›  OOD Waterball

如何对IEEE754中表示的浮点数执行乘法

  •  1
  • OOD Waterball  · 技术社区  · 6 年前

    给定一个浮点数 在IEEE754中表示为
    0 10000000 010101010110101010

    如何计算 回合(MX20) ?

    我知道怎么翻译 以规范化的形式,
    m=1.0101010101010101010(基2)x 2^1

    但我不知道怎么做乘法 M x 20 有效地说,因为尾数中的数字太多了。
    感谢任何提示!

    1 回复  |  直到 6 年前
        1
  •  2
  •   kvantour    6 年前

    前进的道路是标准的 Long Multiplication method ,但以2为基数:

    1.0101010101010101010110 第2节 α20
    =1.010101010110101010 第2节 α5×4
    =1.010101010110101010 第2节 α5×2
    =1.010101010110101010 第2节 α101 第2节

        1.010101010101010101010102 • 21
                              1012 • 22
    × _________________________________
        1.010101010101010101010102 • 23
       00.000000000000000000000002 • 23
      101.010101010101010101010002 • 23
    + _________________________________
      110.101010101010101010100102 • 23
    

    然后我们要将有效位四舍五入到24位,用粗体显示: 110.10101010101010101 0010 第2节 .

    所以结果是110.10101010101010101 第2节 ,或1.101010101010101010010 第2节 .