【摘要】:BCD数字计算和无符号数运算一样,只是运算结果要经过修正才能得出正确答案。这里要注意两点:①运算数必须是BCD数字,才能修正并得到正确答案,不能指望利用这种方法把二进制数字变为十进制数字;②应掌握对结果的修正方法。例1.10 计算BCD数68+99和68-99。所以,在借了100之后,结果为69。
BCD数字计算和无符号数运算一样,只是运算结果要经过修正才能得出正确答案。这里要注意两点:
①运算数必须是BCD数字,才能修正并得到正确答案,不能指望利用这种方法把二进制数字变为十进制数字;
②应掌握对结果的修正方法。
例1.9 求BCD数字57+68和57-68。
解
所以相加的结果是25H,进位标志位C=1(表明结果是125,进位权值为100)。
用同样的方法计算57-68如下:
结果:在向上借了100之后,结果是89,即(100+)57-68=89。(www.daowen.com)
例1.10 计算BCD数68+99和68-99。
解
这里应注意,尽管相加计算的结果0和1都是十进制数集的数,但C=1,D=1,而它们都是按十六进制计算产生的进位,进1表示进了16,而十进制是“逢10进1”,所以要作加6修正。这里的真实结果是(1)67。
所以,在借了100之后,结果为69。
如果把它看作“十的补码”,则69表示-31。对两位十进制数字,00表示0,49表示+49,50表示-50,99表示-1。因此:
这与人工计算的结果是一致的。
由于逻辑运算是按位运算的,其运算规则已经为大家所熟知,这里就不举例子了。但要注意对P(奇偶)标志位的影响。因为奇偶标志位是软件对字符数据生成奇偶位的基本手段,所以P标志位只与结果的低位字节有关(而与高位字节无关),这是需要特别注意的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。