【问题标题】:How can I work around datatype size limitations?如何解决数据类型大小限制?
【发布时间】:2012-03-15 15:04:52
【问题描述】:

我在 App Store 上有一款游戏,我收到报告称分数准确且报告有误。我几乎所有的数学都使用了 long long。不幸的是,在大约 20 亿时,我的数学开始失败,因为分数变得太大了。

是否有解决数据类型大小限制的标准方法?怎么样?

【问题讨论】:

  • 一个 unsigned long long 是 64 位的,它可以保存一个最大值 18446744073709551615 ,你的数学很可能会变坏,因为在某个地方用一个 int 或 long 做算术,它的最大值刚好高于 2十亿。
  • 如果您想要极高的精度,也可以使用 NSDecimalNumber。
  • int 的最大值约为 20 亿 - 您可能在某个地方错误地使用了它 (它可能是隐含的,例如调用返回 int 但是的内置函数您将其分配给long long)

标签: objective-c math types int long-long


【解决方案1】:

unsigned long long 的范围为 0-18,446,744,073,709,551,615。如果你只是在那里做整数数学,你不应该遇到数据类型限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2012-05-08
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    相关资源
    最近更新 更多