BCD码的表示方法
(2011-03-20 17:37:49)
标签:
it |
分类: 疑问详解 |
BCD是什么?
用二进制数来表示十进制数的表示方法。
CD有两种形式,pack BCD, unpack BCD
1.pack BCD,压缩的BCD码
它是一种用四位二进制数表示十进制数. 首先是用四位二制数表示个数,然后用四位二进制数表示十位, 然后百位...。
比如:251需要三个四位二进制数表示。 1表示为0001;5表示为0101;2表示为0010.
最后251的BCD数据表示为0010 0101 0001.
2.unpack BCD.非压缩BCD
非压缩的BCD码用8位二进制数表示一个十进制数位,其中低4位是BCD码,高4位是0。
ASCII和BCD码对照表:
十进制数字 | ASCII码 | 压缩BCD码 | 非压缩BCD码 |
0 |
0011 0000 | 0000 | 0000 0000 |
1 | 0011 0001 |
0001 |
0000 0001 |
2 | 0011 0010 | 0010 | 0000 0010 |
3 | 0011 0011 | 0011 | 0000 0011 |
4 | 0011 0100 | 0100 | 0000 0100 |
5 | 0011 0101 | 0101 | 0000 0101 |
6 | 0011 0110 | 0110 | 0000 0110 |
7 | 0011 0111 | 0111 | 0000 0111 |
8 | 0011 1000 | 1000 |
0000 1000 |
9 | 0011 1001 | 1001 |
0000 1001 |
BCD码:
BCD(Binary Coded
Decimal)是用二进制编码表示的十进制数(见表3.3),十进制数采用0~9十个数字,是人们最常用的。在计算机中,同一个数可以用两种BCD格式来表示:①压缩的BCD码
②非压缩的BCD码
压缩的BCD码:
压缩的BCD码用4位二进制数表示一个十进制数位,整个十进制数用一串BCD码来表示。例如,十进制数59表示成压缩的BCD码为0101
1001,十进制数1946表示成压缩的BCD码为0001 1001 0100 0110。
非压缩的BCD码:
非压缩的BCD码用8位二进制数表示一个十进制数位,其中低4位是BCD码,高4位是0。例如,十进制数78表示成压缩的BCD码为0000
0111 0000 1000。
从键盘输入数据时,计算机接收的是ASCII码,要将ASCII码表示的数转换成BCD码是很简单的,只要把ASCII码的高4位清零即可。
ASCII和BCD码
十进制数字
ASCII码
0
1
2
3
4