gpt4 book ai didi

dynamic-languages - 脚本编写者是否必须考虑舍入误差?

转载 作者:行者123 更新时间:2023-12-04 16:17:30 25 4
gpt4 key购买 nike

我正在学习 C,出现了保护数字和舍入错误的想法。脚本语言的从业者(我在这里想到的是 Python 和 Perl)是否需要担心这些东西?如果他们在做科学编程呢?

最佳答案

这取决于。 double s 在任何地方的表现都一样,所以如果你用 double 做数学,你会在任何语言中遇到同样的问题。如果您使用 native 任意精度类型,那么不,这不是问题。考虑:

use Math::BigFloat;
my $big = Math::BigFloat->new("1_000_000_000_000_000_000_000");
my $small = Math::BigFloat->new("0.000000000000000000000000001");
print $big + $small;

(或者,如果您真的想隐藏正在发生的事情:
use bignum;
print 1_000_000_000_000_000_000_000 + 0.000000000000000000000000001

)

正如预期的那样,这会产生:
1000000000000000000000.000000000000000000000000001

同样正如预期的那样,这不是在一条 CPU 指令中完成的。

关于dynamic-languages - 脚本编写者是否必须考虑舍入误差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1356188/

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