关于BCD码的编码和解码

 

1BCD码(Binary Coded Decimal ——二到十进制编码)
    
计算机内部多采用二进制表示和处理数值数据,因此在计算机输入和输出数据时,就要进行进制的转换处理。用4位二进制数来表示1位十进制数中的0~910个数码,简称BCD码,即BCD代码。

     BCD码编码方法很多,通常采用8421编码,这种编码方法最自然简单。其方法使用四位二进制数表示一位十进制数。以下为对应的8421

     十进制数 8421

        0          0000

        1          0001

        2          0010

        3          0011

     4          0100

     5          0101

     6          0110

     7          0111

     8          1000

     9          1001

 

 

256D=0000 0010 0101 0110BCD

 

2BCD码与二进制之间的转换
    
当需要将BCD码转换成二进制码时,要先将BCD码转换成十进制码,然后再转换成二进制码;当需要将二进制转换成BCD码时,要先将二进制转换成十进制码,然后再转换成BCD码。

  

C#版代码实现:

 int count;
 byte[] data = new byte[2];
 data[0] = (byte)((count / 100) / 10 * 16 + (count / 100) % 10);
 data[1] = (byte)((count % 100) / 10 * 16 + (count % 100) % 10);

 

      


 

int a=(data[0] / 16 * 10 + data[0] % 16) * 100;
 int b=(data[1] / 16 * 10 + data[1] % 16);
 int count = a + b;
   

posted on 2010-09-15 14:26  源远流长  阅读(1191)  评论(0编辑  收藏  举报

导航