gpt4 book ai didi

c - 如何处理 C 中浮点运算的精度

转载 作者:行者123 更新时间:2023-12-02 07:15:26 26 4
gpt4 key购买 nike

在编程竞赛中,浮点运算相关的问题会说“错误是答案必须小于 1e-6”或“答案必须正确到小数点后 6 位”。这是否意味着我可以对 FP 变量执行计算而不用担心精度,并且只有在打印时我应该这样写

printf("%.6lf",a);

我的理解正确吗?上面2个引号的意思是一样的吗?在其中一个问题中,当我使用双数组并执行一些计算并打印其中一个数组元素时。它打印出“-0.000000”。这是什么意思?但是当我像

这样在 C++ 中使用 vector 时
vector<double> arr(10,0.0);

同样的计算打印出“0.000000”。为什么会有这样的差异?

最佳答案

如果您需要 6 位小数的精度,请至少使用 double 。根据您进行的浮点计算的数量,蝴蝶效应很容易影响您的答案。

float 的 IEEE 标准具有带符号的零。 see here

关于c - 如何处理 C 中浮点运算的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1432619/

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