jianhong_wu 发表于 2016-7-10 11:41:28

什么是BCD码?有什么作用?已解答。

起点-深圳:
何谓BCD码?

威-广州:
4位二进制数来表示1位十进制数中的0~9这10个数字。比如,十进制数是23,它的BCD码就是0010 0011。

起点-深圳:
那直接用二进制替代就行了啊,干嘛还要使用BCD 码?

威-广州:
这个问题问得好,我也想知道为什么。


★坚鸿-深圳:
(1)压缩BCD码的每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110B表示十进制数96D;非压缩BCD码用1个字节表示一位十进制数,高四位总是0000,低4位的0000~1001表示0~9.例如00001000B表示十进制数8.
(2)我自己体会最深,当数据运算超过32位数据的时候,也就是超过unsigned long类型的范围后,用非压缩BCD码自己编写运放加减乘除算法,数据范围理论上可以无上限,我猜测天文级数字的运算数据就是用非压缩BCD码的数据格式,一个数据用一个数组来表示,数组的长度就是数据的长度,每个数组的一个单元就是一个非压缩BCD码。而数组的长度如果是1000,就意味着这个十进制数据后面有999个0!

页: [1]
查看完整版本: 什么是BCD码?有什么作用?已解答。