我需要将NSInteger的最大值存储到NSInteger中吗?这样做的正确语法是什么?
感谢。
答案 0 :(得分:88)
NSInteger的最大值为NSIntegerMax。
答案 1 :(得分:13)
NSInteger的最大值为NSIntegerMax
答案 2 :(得分:1)
我花了一点时间才意识到为什么在使用NSUInteger时我从NSIntegerMax获得了不同的值!!
NSUInteger的最大值是NSUIntegerMax
答案 3 :(得分:1)
对于32位& 64位,有两个约定: 一)ILP32 b)中LP64
32位运行时使用一种名为ILP32的约定,其中整数,长整数和指针是32位量。 64位运行时使用LP64约定;整数是32位量,长整数和指针是64位量。这些约定与OS X上运行的应用程序的ABI相匹配(类似地,Cocoa Touch约定与Cocoa中使用的数据类型相匹配),使得在两个操作系统之间编写可互操作的代码变得容易。
表1-1 Objective-C代码中常用的所有整数类型。每个条目包括数据类型的大小及其在内存中的预期对齐。突出显示的表条目指示LP64约定与ILP32约定不同的位置。这些大小差异表示在为64位运行时编译时代码行为发生更改的位置。编译64位运行时时,编译器会定义 LP64 宏。
对于NSInteger的64位最大范围是:LONG_MAX:9223372036854775807