计算机能够直接识别和处理的只有二进制数,但人们在生活、学习和工作中更习惯于用十进制数,所以在某些情况下也希望计算机能直接处理十进制形式表示的数据。1
处理十进制数有两种常见的方法。一种是先将输入的十进制数转换为二进制数,在计算机中进行二进制计算,再将运算结果转换为十进制数。这种方法适用于数据量不太多而计算量大的场合。另一种方法是采用二-十进制码(BCD码)设计相应的十进制加法器来进行十进制计算,这种方法适用于数据量多而计算较简单的场合。
目前,许多通用计算机都采用第二种处理方法,在计算机中配置十进制运算指令,直接实现十进制数运算。计算机内十进制运算指令的实现,主要采用两种方法。第一种是直接用十进制加法器实现。该方法的特点是指令执行速度快,但硬件设备复杂。第二种是利用原有的二进制加法器,用十进制修改指令来实现十进制加法。该方法指令执行速度慢,但不需要增加任何设备。2
计算机中常见的十进制表示在计算机中,常用二-十进制码,也叫做BCD(Binary-Coded Decimal)码来表示十进制数。所谓二-十进制码,就是用4位二进制数组成的代码来表示1位十进制数。4位二进制数具有16种组合,二-十进制中的10个数字符号只需选用其中的10种组合来表示,因而会有不同的编码方案。常用的几种二-十进制编码如下图所示。3
图中8421码、2421码、5211码都是有权码,余3码和余3循环码是无权码。
最常用的十进制加法器计算机中最常用的BCD码是8421码,一位8421码十进制加法器可设计如下图。2
是进位位,表示计算结果是否有进位。