gpt4 book ai didi

c - 浮点比较

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

<分区>

#include <stdio.h>
int main()
{
float f;
f = 0.4;
if(f<0.4)
printf("It is less");
if(f>0.4)
printf("It is greater");
if(f==0.4)
printf("It is equal");
}

我不明白为什么输出显示“它更大”。

我得到 0.4 转换为二进制表示形式是 0x3ECCCCCD,即 4.000000059604644775390625E-1。疑问是如果 f 存储了这个舍入值,为什么比较中的 0.4 是准确的。如果 f 和 0.4 都四舍五入,则输出应该是“它相等”。

我试过 f = 0.5,它显示“它是相等的”。

当f=0.9时,显示“少了”。

请注意根本没有算术。

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