gpt4 book ai didi

matlab - Matlab中 double 的算术精度

转载 作者:太空宇宙 更新时间:2023-11-03 19:37:59 28 4
gpt4 key购买 nike

我在理解这些 double 如何影响 Matlab 中算术运算的结果时遇到了一些麻烦。我认为,由于 a 和 b 都是 double ,因此它们能够执行达到该精度的操作。我意识到可能存在舍入误差,但由于这些数字完全在 64 位数字表示范围内,我认为这不是问题。

a = 1.22e-45
b = 1
a == 0
ans = 0 %a is not equal to zero
(a + b) == 1
ans = 1

为什么它能够携带足够的精度来识别 != 0 但当添加到 1 时它没有显示任何变化。

最佳答案

64 位 IEEE-754 float 具有足够的精度(带有 53 位尾数)来表示大约 16 位有效的十进制数字。但它需要更多 45 位有效的小数位为您的示例区分 (1+a) = 1.00....000122 和 1.000。

关于matlab - Matlab中 double 的算术精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3697234/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com