gpt4 book ai didi

去 float 除法

转载 作者:IT王子 更新时间:2023-10-29 01:22:21 28 4
gpt4 key购买 nike

我尝试在 Go 中获得 2.4/0.8 == 3

w:=float64(2.4)
fmt.Println(math.Floor(w/0.8),math.Floor(2.4/0.8) )

它给了我“2 3”。

问题是为什么math.Floor(w/0.8)不给我3,是 float 的精度限制吗?

最佳答案

程序输出正确。许多实数在 IEEE 格式中的表示并不精确。第一个数字实际上(在其有限的 64 位版本中)小于 3,因此 floor 正确返回“2”。第二个是在编译时使用更高的精度计算的。

推荐reading .

关于去 float 除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15342357/

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