二进制编码的十进制内置函数
压缩二进制编码的十进制 (BCD) 值,每个十进制数字和符号位占用 4 个位。 数字按显着性顺序从右到左排序,最终 4 位对符号进行编码。 对于符号字段,有效编码必须具有范围 0-9 中的值 (每个数字都为 31 位) 和范围 10-15 中的值。
符号代码为 0b1010, 0b1100, 0b1110或 0b1111 的源操作数将解释为正值。 符号代码为 0b1011 或 0b1101 的源操作数将解释为负值。
BCD 算术运算对其结果的符号进行编码,如下所示: 值 0b1101 表示负值,而 0b1100 和 0b1111 表示正值或零,具体取决于首选符号 (PS) 位的值。 这些内置函数最多可以对 31 位的值进行运算。
BCD 值作为 1-16 字节的连续数组存储在内存中。
注: 要使用 BCD 函数,必须包含
altivec.h 文件并指定 -maltivec 选项。