7.1.6 ToUint32 ( argument )
抽象操作 ToUint32 将 argument 转换为范围为 0 到2^32 - 1(包括 0 和 2^32 - 1)的 2^32 个整数值之一。 该抽象操作的功能如下:
- 使 number 变为 ? ToNumber(argument)。
- 如果 number 是 NaN,+0,-0,+∞ 或 -∞,返回 +0。
- 使 int 变为与 number 相同符号的数学值,其大小为 floor(abs(number))。
- 使 int32bit 变为 int 模(modulo) 2^32。
- 返回 int32bit。
注意:给定 ToUint32 的上述定义:
- 步骤 5 是 ToUint32 和 ToInt32 之间的唯一区别。
- ToUint32 抽象操作是幂等的:如果应用于它生成的结果,则第二个应用程序保留该值不变。
- 对于 x 的所有值,ToUint32(ToInt32(x))等于ToUint32(x)。 (这是保留后面的属性 +∞ 和 -∞ 映射到 +0)。
- ToUint32 将 -0 映射到 +0。