gpt4 book ai didi

c - 在c中 float 奇怪的不精确错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:37:08 25 4
gpt4 key购买 nike

<分区>

今天发生了一件奇怪的事,当我尝试编译和执行这段代码时,输​​出的结果不是我所期望的。这是简单地将浮点值添加到 float 数组然后打印出来的代码。简单代码:

int main(){
float r[10];
int z;
int i=34;
for(z=0;z<10;z++){
i=z*z*z;
r[z]=i;
r[z]=r[z]+0.634;
printf("%f\n",r[z]);
}
}

输出:

0.634000
1.634000
8.634000
27.634001
64.634003
125.634003
216.634003
343.634003
512.633972
729.633972

请注意,从 27 开始,.634 之后出现的数字不应该出现。有谁知道为什么会这样?是 float 逼近引起的事件?..

P.S 我有一个 64 位的 linux debian 系统

谢谢大家

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