【发布时间】:2011-12-18 00:25:45
【问题描述】:
我正在查看一些用于 C++ 的旧 Apple 代码,我熟悉 float 但不熟悉 Float32 和 Uint32 类型它们与标准 float 和 int 相同吗?
谢谢
【问题讨论】:
标签: c++ types floating-point
我正在查看一些用于 C++ 的旧 Apple 代码,我熟悉 float 但不熟悉 Float32 和 Uint32 类型它们与标准 float 和 int 相同吗?
谢谢
【问题讨论】:
标签: c++ types floating-point
UInt32 是一个 32 位(4 字节)无符号整数。这意味着它可以表示范围内的值[0, 2^32-1] (= [0, 4294967295])。
Float32 是 32 位(又名 single-precision [与 double-precision] 对比)floating point number。
正如其他答案所提到的,类型的存在是为了保证宽度。
【讨论】:
我想它们分别是一些typedef 用于浮点类型和无符号整数类型保证为 32 位宽。
在大多数平台上,它们只会衰减到 float(至少在任何使用 IEEE 754 标准的机器上),在 32 位机器上,会衰减到 unsigned int(在某些 64 位平台上,它可能会衰减到 @ 987654324@).
【讨论】:
后缀给出位大小。当且仅当 Standard float 和 int 在目标机器上具有相同的大小时,它们才会相同。它们的存在是为了在所有平台上提供有保证的尺寸。
【讨论】: