15.1 BCD码介绍

在日常生产生活中用的最多的数字是十进制数字,而单片机系统的所有数据本质上都是二进制的,所以聪明的前辈们就给我们创造了 BCD 码。

BCD 码(Binary-Coded Decimal)亦称二进码十进制数或二-十进制代码。用 4 位二进制数来表示 1 位十进制数中的 0~9 这 10 个数字。是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD 码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。我们前边讲过十六进制和二进制本质上是一回事,十六进制仅仅是二进制的一种缩写形式而已。而十进制的一位数字,从 0 到 9,最大的数字就是9,再加 1 就要进位,所以用 4 位二进制表示十进制,就是从 0b0000 到 0b1001,不存在 0b1010、0b1011、0b1100、0b1101、0b1110、0b1111 这 6 个数字。BCD 码如果到了 0b1001,再加 1的话,数字就变成 0b00010000 这样了,相当于用了 8 位的二进制数字表示了 2 位的十进制数字。

BCD 码的应用还是非常广泛的,比如我们这节课要学的实时时钟,日期时间在时钟芯片中的存储格式就是 BCD 码,当我们需要把它记录的时间转换成可以直观显示的 ASCII 码时(比如在液晶上显示),就可以省去一步由二进制的整型数到 ASCII 的转换过程,而直接取出表示十进制 1 位数字的 4 个二进制位然后再加上 0x30 就可组成一个 ASCII 码字节了,这样就会方便的多,在后面的实际例程中将看到这个简单的转换。

你可能感兴趣的:(15.1 BCD码介绍)