二进制编码的十进制数运算
NBCD码
使用四位二进制位表示一位十进制位
四位表示符号:1100为正;1101为负
NBCD加法
当值在[10,19]范围内时,需要对结果进行调整
C4是表示是否发生了溢出的位,如果数值大于等于10或者C4变成了1,说明需要调整,后面的一组四位数需要+1
减法
与补码减法类似,需要变成补码的加法,然后最后再将补码恢复为原码。
-
如果要将一个NBCD数从原码变为补码,需要对每一个四组数取反,然后整体+1。
-
取反的方法两种:1、先按位取反,再加一个1010;2、先加一个0110,再按位取反
在经过补码加法算出结果后,需要对最后的结果调整:如果有进位,那么舍弃进位,然后什么都不做;如果没有进位,那么先对结果按位取反,然后+1,变成原码