编程时什么是压缩BCD码 非压缩BCD码?

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:23:50
说的详细点 我看到很多次了没看懂

压缩BCD码用4位2进制表示,1字节(8位2进制)表示2位BCD码,如10010011B表示十进制数93
非压缩BCD码用1字节表示,高4位总是0000,记住总是,低4位用0000--1001表示0--9,如93 表示为0000100100000011,占2个字节,00001001表示9,00000011表示3

BCD码是一一对应的,如:
十进制的123 用BCD表示为:0001 0010 0011
因为:
十进制的 1 用二进制表示是 0001
十进制的 2 用二进制表示是 0010
十进制的 3 用二进制表示是 0011

与二进制的区别:
123的二进制应该用短除法求得1111011
由此可见,BCD码只是机械地用二进制表示十进制的每一位。

压缩与非压缩:
由于1字节有8bit(8个0或1)
如果用一字节存储4位BCD码(其余补0)就是非压缩
如 十进制的123:00000001 00000010 0011
如果用一字节存储8位BCD码就是压缩
如 十进制的123:0001 0010 0011

压缩的BCD码二进制占一个字节,非压缩的BCD码占两个字节

bcd码又叫8421码