今儿个咱来聊聊BCD码是个啥玩意儿。一开始我也不懂这是后来还是因为工作上需要用到,才去研究一番。
起因
记得那是刚入职不久,有一次,老大让我处理一个设备传上来的数据。我一看,好家伙,一堆数字,但又不是平时常见的十进制或者十六进制。问老大才知道,这玩意儿叫BCD码。
...
今儿个咱来聊聊BCD码是个啥玩意儿。一开始我也不懂这是后来还是因为工作上需要用到,才去研究一番。
起因
记得那是刚入职不久,有一次,老大让我处理一个设备传上来的数据。我一看,好家伙,一堆数字,但又不是平时常见的十进制或者十六进制。问老大才知道,这玩意儿叫BCD码。
解
当时我就懵,啥是BCD码?赶紧上网查资料。这一查才知道,原来BCD码就是用二进制数来表示十进制数的一种编码方式。说白,就是用4个二进制位(bit)来表示一个十进制数字(0到9)。
举例
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
比如说,十进制数“12”,用BCD码表示就是“0001 0010”。你看,是不是挺简单的?“0001”就是十进制的“1”,“0010”就是十进制的“2”。
- 十进制 0 = BCD 0000
- 十进制 1 = BCD 0001
- 十进制 2 = BCD 0010
- 十进制 3 = BCD 0011
- 十进制 4 = BCD 0100
- 十进制 5 = BCD 0101
- 十进制 6 = BCD 0110
- 十进制 7 = BCD 0111
- 十进制 8 = BCD 1000
- 十进制 9 = BCD 1001
实践
光知道原理不行,还得会用才行。于是我就开始琢磨,怎么把设备传上来的BCD码转换成我熟悉的十进制数?
我还是挺笨的,手动一位一位地转换。后来发现,这样效率太低!于是我又去网上找有没有现成的工具或者代码可以参考。还真让我找到!
实现
我用(某种编程语言)写几行代码,就把BCD码转换成十进制数的功能给实现。这下子,处理起设备数据来就方便多,再也不用一个个数,大大提高工作效率!
BCD码这玩意儿,看着挺唬人,理解原理,用起来也挺简单的。这回实践也让我学到不少东西,以后再遇到类似的问题,我就不怕!
阅读全文