gpt4 book ai didi

swift - Swift 中 float 的定点表示

转载 作者:搜寻专家 更新时间:2023-11-01 07:29:11 24 4
gpt4 key购买 nike

我试图在 Swift 中准确表示 float 。假设我们有一个数字 let doubleNumber = 16.756。问题在于实际数字类似于 16.7560009。此外,在不同的手机上它是 16.7559991,例如,由于处理器的不平等。定点运算应该是这类问题的答案,但我不知道如何在 Swift 中解决它。老实说,也不是其他语言。那么如何在 Swift 中创建 float 的定点表示?

我问的原因是,在跨设备准确模拟物理时, float 值的微小差异可能会导致完全不同的物理模拟。

最佳答案

您提供的数字表明您使用的是 Float,而不是 Double。 Float 只有大约 6 位精度,Double 大约有 15 位。记住 CGFloat 要么是 Float 要么是 Double,所以不要使用它。

Swift 使用 IEEE 754 标准浮点算法。只要您始终使用 Double,不同处理器之间应该没有任何区别。

现在有一个非常关键的点:如果不同处理器上的浮点运算之间的微小差异会产生完全不同的模拟,那么这两种模拟都与现实没有任何关系,因此完全没有用。或者它们都显示出许多可能结果中的一种,然后再说一次,你显示哪一个都没有区别。

关于swift - Swift 中 float 的定点表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33777897/

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