• Home
  • About
    • LiF photo

      LiF

      NULL

    • Learn More
    • Github
    • Youtube
  • Posts
    • All Posts
    • All Tags
  • Projects

Computer Organization-Coding of Decimal Numbers

23 May 2019

十进制数的编码

BCD码(Binary Code Decimal,二进制编码的十进制数):4位二进制数组合出16种代码,使用其中10种状态即可表示数字0~9。由于16种状态并没有被全部使用,BCD码也有多种。下面是常见的几种BCD码。

十进制数 8421码 2421码 余3码 Gray码
0 0000 0000 0011 0000
1 0001 0001 0100 0001
2 0010 0010 0101 0011
3 0011 0011 0110 0010
4 0100 0100 0111 0110
5 0101 1011 1000 1110
6 0110 1100 1001 1010
7 0111 1101 1010 1011
8 1000 1110 1011 1001
9 1001 1111 1100 1000

8421码

即自然码,各个数位的权值分别为8、4、2、1,不能和二进制表示数混淆。例:十进制数39,8421码为0011,1001,二进制值为100111B。

2421码

各个数位权值分别为2、4、2、1,它是对9的自补码。3即0011,6即1100,两数互为位取反关系。十进制运算中采用自补码可以简化电路。不允许出现0101~1010,这些是非法码。

余3码

无权码,是在8421码基础上加3(0011)得到码值,也是一种对9的自补码,不允许出现0000~0010和1101~1111,这些事非法码。

Gray(格雷)码

格雷码方案很多。优点:可以避免计数发生中间错误,因而也被称为可靠性编码。无权码,变化到相邻的值时只有一个二进制位状态改变,首尾两个数的Gray码也只有一个位不同,因而也称为循环码。6个非法码视方案而定。

2.4.2十进制数串

1.非压缩的十进制数串

即对单个数进行BCD编码后拼接成的串,一个字节存放一个十进制数或符号的ASCII码。一个数串占用连续的多个字节。主要应用于非数值的处理,不便于计算。

2.压缩的十进制数串

一个字节存放两个十进制数,节省空间,方便计算。一个压缩的十进制数串占用连续多个字节,每个数字占用半个字节,常用8421码表示,符号位占用半个字节,存放在最低数值位之后,通常用CH表示正,DH表示负。规定数字个数与符号位之和要为偶数,和为奇数时在最高值位之前补0(0000)。

例:+123表示为0001,0010,0011,1100;-2648表示为0000,0010,0110,0100,1000,1101。



Computer Organization Share Tweet +1