6

我正在寻找Objective C中所有标量数据类型的列表,包括它们的范围(最大值/最小值等)。

对不起这个简单的问题,我真的很难找到这样的东西。

4

3 回答 3

4
  • int +/- 2,147,483,647 之间的整数值。
  • unsigned int 介于 0 和 4,294,967,296 之间的整数值。
  • float +/- 16,777,216 之间的浮点值。
  • double +/- 2,147,483,647 之间的浮点值。
  • long 一个整数值,大小从 32 位到 64 位不等,具体取决于架构。
  • long long 一个 64 位整数。
  • char 单个字符。从技术上讲,它表示为int.
  • BOOL 布尔值,可以是 YES 或 NO。
  • NSInteger 编译为 32 位架构时,与 相同int,编译为 64 位架构时,+/- 4,294,967,296。
  • NSUInteger 编译为 32 位架构时,与 相同unsigned int,编译为 64 位架构时,值介于 0 和 2^64 之间

来源

于 2012-11-09T16:26:51.923 回答
1
  1. char : 一个字符 1 个字节
  2. int :一个整数 — 一个 4 字节的整数
  3. float : 单精度浮点数 4 字节
  4. Double : 双精度浮点数 8 字节
  5. short : 一个 2 字节的短整数
  6. long : 双短 4 字节
  7. long long : 双长 8 字节
  8. BOOL : 布尔值(有符号字符)1 个字节

有关尺寸的更多信息,请查看此帖子

于 2012-11-09T16:24:47.103 回答
0

整数类型是有符号的 2 的补码或无符号的,并提供标准 C 变体(, , ,charshort这些int变体,请参阅Wikipedia 上的 C 类型),大小可能因 32 位和 64 位环境而异 - 请参阅64 位计算longlong longunsigned

BOOL是一个 Objective-C 特殊的,被定义为signed char,而它可以取任何值,一个有符号字符可以是常量NO并且YES被定义为使用。还提供了C9X 类型_Bool(又名)。bool

float&double是 IEEE 32 位和 64 位浮点数 - 请参阅 Wikipedia 了解范围。

为所有类型的最小值和最大值提供了标准宏内容,例如INT_MAX-int再次参见维基百科上的 C 类型

于 2012-11-09T19:41:03.280 回答