使用双精度浮点实现的整数乘法是否精确到 2^53?

2023-12-22

我问这个问题是因为我正在计算矩阵乘法,其中所有矩阵值都是整数。

我想使用 LAPACK 以便获得正确的快速代码。两个大整数(其乘积小于2^53),存储为doubles 相乘,得到 adouble包含精确的整数结果?


你的分析是正确的:

  • All integers between -253 and 253 are exactly representable in double precision.
  • IEEE754 标准要求精确执行计算,然后四舍五入到最接近的可表示数字。

因此,等于该范围内的整数的两个值的乘积将被准确地表示。

参考: 每个计算机科学家都应该了解的浮点运算知识 http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html。关键部分是与操作相关的 IEEE 标准的讨论。其中包含上面第二个要点的陈述。您已经知道第一个要点,第二点使论证更加完整。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用双精度浮点实现的整数乘法是否精确到 2^53? 的相关文章

随机推荐