"UnsignedMachineInteger" (编译类型)

"UnsignedMachineInteger"

表示一个机器范围的无符号整数原子类型说明符.

更多信息

  • "UnsignedMachineInteger" 可用于 Typed 和相关架构以指定一种类型.
  • 在 64 位平台上,"UnsignedMachineInteger" 是一个 "UnsignedInteger64".
  • 在 32 位平台上,"UnsignedMachineInteger" 是一个 "UnsignedInteger32".

属性

  • "UnsignedMachineInteger" 在 64 位架构上的存储范围为从 0264-1.
  • "UnsignedMachineInteger" 在 32 位架构上的存储范围为从 0232-1.

转换

    从表达式转换

  • 范围合适的 Integer 表达式可被转换为类型为 "UnsignedMachineInteger" 的编译代码元素.
  • 转换为表达式

  • "UnsignedMachineInteger" 编译元素可被转换为 Integer 表达式.
  • 算法

  • "UnsignedMachineInteger" 编译元素在用于二进制算法运算时自动提升为实元素或复元素.
  • 类型小于 "UnsignedMachineInteger" 的编译元素在用于二进制算法运算时会自动被提升为 "UnsignedMachineInteger".

运行时错误

    溢出

  • "UnsignedMachineInteger" 用于溢出的运算时会给出运行时错误.

范例

基本范例  (4)

"UnsignedMachineInteger" 可用作 CompiledCodeFunction 的输入和输出:

"UnsignedMachineInteger" 的大小与 $SystemWordLength 相同:

在运行函数时,溢出会导致错误发生. 计算停止,消息发送并使用 Wolfram Engine 来计算结果:

"UnsignedMachineInteger" 参数在与实数结合时会自动提升:

"UnsignedMachineInteger" 参数在与较小存储范围的整数结合时,较小的类型会自动提升:

"UnsignedMachineInteger" 由于其可取架构原生范围的整数因此可与 "PackedArray" 一起使用: