【发布时间】:2016-01-28 05:42:42
【问题描述】:
我正在构建这个应用程序,它需要将字符串转换为Int。所以我这样做了:
Int(someString)
但是,有时someString 是一个非常大的数字。它的值超过了Int32 的最大值。我知道如果用户使用不同的操作系统,Int 的最大值可能会有所不同。
我使用 iOS 9 和 iOS 8 来测试我的应用程序,它运行良好。这意味着Int 的最大值是 264 - 1,而不是 32 位的。但是其他 iOS 版本呢?如果Int 的最大值较小,我的应用会产生错误的输出!
我只是想问一下Int在不同iOS版本中各自的最大值是多少?哪个版本的最大值是 32 位?
【问题讨论】:
-
与系统版本无关。它实际上取决于设备的芯片。 Apple 于 2012 年 9 月在 iPhone 5S 上推出了 A7(64bit) 芯片,因此所有晚于其发布的设备的 MaxInt 值应为 2^64 - 1