您的位置:控制工程论坛网论坛 » 自动化软件 » BCD编码基础知识

马军成

马军成   |   当前状态:在线

总积分:13914  2024年可用积分:0

注册时间: 2006-12-01

最后登录时间: 2022-06-28

空间 发短消息加为好友

BCD编码基础知识

马军成  发表于 2007/11/11 20:22:07      1973 查看 4 回复  [上一主题]  [下一主题]

手机阅读

BCD编码基础知识

在数字系统中,各种数据要转换为二进制代码才能进行处理,而人们习惯于使用十进制数,所以在数字系统的输入输出中仍采用十进制数,这样就产生了用四位二进制数表示一位十进制数的方法,这种用于表示十进制数的二进制代码称为二-十进制代码(Binary Coded Decimal),简称为BCD码。它具有二进制数的形式以满足数字系统的要求,又具有十进制的特点(只有十种有效状态)。在某些情况下,计算机也可以对这种形式的数直接进行运算。常见的BCD码表示有以下几种。

8421BCD编码

  这是一种使用最广的BCD码,是一种有权码,其各位的权分别是(从最有效高位开始到最低有效位)8,4,2,1。
  例 写出十进数563.97D对应的8421BCD码。
    563.97D=0101 0110 0011 . 1001 01118421BCD
  例 写出8421BCD码1101001.010118421BCD对应的十进制数。
    1101001.010118421BCD=0110 1001 . 0101 10008421BCD=69.58D
  在使用8421BCD码时一定要注意其有效的编码仅十个,即:0000~1001。四位二进制数的其余六个编码1010,1011,1100,1101,1110,1111不是有效编码。

2421BCD编码

  2421BCD码也是一种有权码,其从高位到低位的权分别为2,4,2,1,其也可以用四位二进制数来表示一位十进制数。其编码规则如下表。

余3码

  余3码也是一种BCD码,但它是无权码,但由于每一个码对应的8421BCD码之间相差3,故称为余3码,其一般使用较少,故只须作一般性了解,具体的编码如下表。

常见BCD编码表

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

非压缩式和压缩式:
BCD又分为两种,非压缩式和压缩式两种。
前面这种81秒存成 “08,01” 是非紧密式,而紧密式会存成 “81h” 
(直接以十六进制储存)。

非压缩的BCD码只有低四位有效,而压缩的BCD码则将高四位也用上了,就是说一个字节有两个BCD码。

 BCD是用0和1表示十进制,如0000表示0,0001表示1,0010表示2,举例
子1234表示成0001001000110100,而压缩的bcd是用00表示0,01表示1,
10表示2,110表示3等,但压缩的BCD并不固定,可看情况而定,所要的
就是用最少的位数表示尽可能多的数。

BCD Code Table供大家参考: 

Binary   Decimal   Hex   Octal   Character          Binary   Decimal   Hex   Octal   Character 
000000   0   0   0   SPACE          100000   32   20   40   - 
000001   1   1   1   1              100001   33   21   41   J 
000010   2   2   2   2              100010   34   22   42   K 
000011   3   3   3   3              100011   35   23   43   L 
000100   4   4   4   4              100100   36   24   44   M 
000101   5   5   5   5              100101   37   25   45   N 
000110   6   6   6   6              100110   38   26   46   O 
000111   7   7   7   7              100111   39   27   47   P 
001000   8   A   10   8             101000   40   28   50   Q 
001001   9   9   11   9             101001   41   29   51   R 
001010   10   A   12   0            101010   42   2A   52   Minus Zero 
001011   11   B   13   # =          101011   43   2B   53   $ 
001100   12   C   14   @ '          101100   44   2C   54   * 
001101   13   D   15   :            101101   45   2D   55   } 
001110   14   E   16   >            101110   46   2E   56   ; 
001111   15   F   17   Tape Mark    101111   47   2F   57   Mode Change 
         
010000   16   10   20   BLANK       110000   48   30   60   & + 
010001   17   11   21   /           110001   49   31   61   A 
010010   18   12   22   S           110010   50   32   62   B 
010011   19   13   23   T           110011   51   33   63   C 
010100   20   14   24   U           110100   52   34   64   D 
010101   21   15   25   V           110101   53   35   65   E 
010110   22   16   26   W           110110   54   36   66   F 
010111   23   17   27   X           110111   55   37   67   G 
011000   24   18   30   Y           111000   56   38   70   H 
011001   25   19   31   Z           111001   57   39   71   I 
011010   26   1A   32   Record Mark 111010   58   3A   72   Plus Zero 
011011   27   1B   33   ,           111011   59   3B   73   . 
011100   28   1C   34   % (         111100   60   3C   74      ) 
011101   29   1D   35   Word Separator          111101   61   3D   75   { 
011110   30   1E   36   \           111110   62   3E   76   < 
011111   31   1F   37   Tape Segment Mark          111111   63   3F   77   Group Mark 

1楼 0 0 回复
总共 , 当前 /