gpt4 book ai didi

将浮点值与 double 值进行比较会产生不同的行为

转载 作者:行者123 更新时间:2023-11-30 21:15:29 25 4
gpt4 key购买 nike

我发现了很多问题,但没有一个能帮助我

      float x = 0.1;
x == 0.1

上面的代码返回 false。因为我尝试将 double 值与单精度 x 进行比较。

      float x = 0.5
x == 0.5

这个返回 true。我找不到为什么它返回 true?有什么建议吗??

编辑:那么我如何识别哪个值在两种精度上具有相同的表示?

最佳答案

x == 0.1

0.1 不是 float 类型,而是 double 类型。 floatdouble 不具有相同的精度。 0.1f 的类型为 float

为什么它与 0.5 一起工作是因为 0.5floatdouble 中都有精确的表示(在二进制 IEEE-754) 类型。

关于将浮点值与 double 值进行比较会产生不同的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25821924/

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