值¶
WebAssembly 程序操作基本数值值。此外,在程序的定义中,不可变的值序列用于表示更复杂的数据,例如文本字符串或其他向量。
字节¶
最简单的值形式是原始的未解释字节。在抽象语法中,它们表示为十六进制字面量。
约定¶
元变量
表示字节。字节有时被解释为自然数
。
整数¶
不同类别的整数具有不同的值范围,这些范围由它们的位宽
类
注意
本规范中出现的主要整数类型是
约定¶
元变量
表示整数。数字可以用简单的算术表示,如上语法所示。为了区分像
这样的算术运算和像 这样的序列,后者用括号区分。
浮点数¶
浮点数数据表示 32 位或 64 位值,这些值对应于 IEEE 754 标准(第 3.3 节)的相应二进制格式。
每个值都有一个符号和一个幅度。幅度可以表示为形式为
可能的幅度还包括特殊值
其中
规范 NaN 是一个浮点数
算术 NaN 是一个浮点数
注意
在抽象语法中,非规格化数由尾数的开头 0 区分。非规格化数的指数与正常数的最小可能指数具有相同的值。只有在 二进制表示 中,非规格化数的指数的编码方式才与任何正常数的指数不同。
此处定义的规范 NaN 概念与 IEEE 754 标准(第 3.5.2 节)为十进制交换格式定义的规范 NaN 概念无关。
约定¶
元变量
表示浮点数,在上下文中明确。
向量¶
数值向量是 128 位值,由向量指令(也称为SIMD 指令,单指令多数据)处理。它们在抽象语法中使用
名称¶
名称是字符序列,这些字符是 Unicode(第 2.4 节)定义的标量值。
由于 二进制格式 的限制,名称的长度受其 UTF-8 编码长度的限制。
约定¶
字符(Unicode 标量值)有时与自然数
交换使用。