少女祈祷中...

二进制编码的十进制数运算

NBCD码

使用四位二进制位表示一位十进制位

四位表示符号:1100为正;1101为负

NBCD加法

当值在[10,19]范围内时,需要对结果进行调整

C4是表示是否发生了溢出的位,如果数值大于等于10或者C4变成了1,说明需要调整,后面的一组四位数需要+1

减法

与补码减法类似,需要变成补码的加法,然后最后再将补码恢复为原码。

  • 如果要将一个NBCD数从原码变为补码,需要对每一个四组数取反,然后整体+1。

  • 取反的方法两种:1、先按位取反,再加一个1010;2、先加一个0110,再按位取反

在经过补码加法算出结果后,需要对最后的结果调整:如果有进位,那么舍弃进位,然后什么都不做;如果没有进位,那么先对结果按位取反,然后+1,变成原码