"UnsignedInteger8" (编译类型)
"UnsignedInteger8"
表示一个无符号的 8 位机器整数原子类型说明符.
更多信息
- "UnsignedInteger8" 可用于 Typed 和相关架构以指定一种类型.
转换
- 大小合适的 Integer 表达式可被转换为类型为 "UnsignedInteger8" 的编译代码元素.
- "UnsignedInteger8" 编译元素可被转换为 Integer 表达式.
- "UnsignedInteger8" 编译元素在结合二进制算法运算时自动提升为实元素或复元素.
- "Integer8" 编译元素在结合二进制算法运算时会自动提升为更大的整数元素.
- "Integer8" 编译元素在结合二进制算法运算时会自动提升为 "UnsignedInteger8" 元素.
从表达式转换
转换为表达式
算法
范例
基本范例 (3)
"UnsignedInteger8" 可用作 CompiledCodeFunction 的输入和输出:
cf = FunctionCompile[Function[Typed[arg, "UnsignedInteger8"], arg]]cf[ 100]在运行函数时,溢出会导致错误发生. 计算停止,消息发送,并使用 Wolfram Engine 来计算结果:
cf = FunctionCompile[Function[Typed[arg, "UnsignedInteger8"], arg ^ arg]];
cf[2^2]"UnsignedInteger8" 参数在与实数结合时会自动提升:
cf = FunctionCompile[Function[{Typed[arg1, "UnsignedInteger8"], Typed[arg2, "Real64"]}, arg1 + arg2]];
Information[cf, "Signature"]"UnsignedInteger8" 参数在与较大存储范围的整数结合时会自动提升:
cf = FunctionCompile[Function[{Typed[arg1, "UnsignedInteger8"], Typed[arg2, "UnsignedInteger64"]}, arg1 + arg2]];
Information[cf, "Signature"]存储范围相同的有符号的整数在与 "UnsignedInteger8" 结合时会自动提升:
cf = FunctionCompile[Function[{Typed[arg1, "Integer8"], Typed[arg2, "UnsignedInteger8"]}, arg1 + arg2]];
Information[cf, "Signature"]技术笔记
历史
2019年引入 (12.0)