二进制编码的十进制内置函数

压缩二进制编码的十进制 (BCD) 值,每个十进制数字和符号位占用 4 个位。 数字按显着性顺序从右到左排序,最终 4 位对符号进行编码。 有效编码的值必须在其 31 位数字中的每个数字的范围 0-9 内,而符号字段的值必须在范围 10-15 内。

符号代码为 0b1010, 0b1100, 0b1110或 0b1111 的源操作数将解释为正值。 符号代码为 0b1011 或 0b1101 的源操作数将解释为负值。

BCD 算术运算对其结果的符号进行编码,如下所示: 值 0b1101 表示负值,而 0b1100 和 0b1111 表示正值或零,具体取决于首选符号 (PS) 位的值。 这些内置函数最多可以对 31 位的值进行运算。

BCD 值作为 1-16 字节的连续数组存储在内存中。

备注: 基于 Clang 的前端开始要使用BCD格式转换功能,必须包含 bcd.h 文件,并设置 -qarch 以使用 POWER9 技术。基于 Clang 的前端端 要使用其他类型的BCD函数,包括以下函数,您必须 附上 文件,并 指定 : 基于 Clang 的前端开始 altivec.h基于 Clang 的前端端 -qaltivec
  • BCD 增减函数
  • BCD 比较函数
  • BCD 负荷函数和存储函数
  • 针对溢出函数的 BCD 测试增减
基于 Clang 的前端开始