新浪博客

常见BCD编码表

2006-07-29 22:52阅读:
非压缩式和压缩式:
BCD又分为两种,非压缩式和压缩式两种。前面这种81秒存成 08, 01 是非紧密式,而紧密式会存成 81h
(直接以十六进制储存)。非压缩的BCD码只有低四位有效,而压缩的BCD码则将高四位也用上了,就是说一个字节有两个BCD码。
BCD是用01表示十进制,如0000表示00001表示10010表示2,举例:
数字1234表示成0001001000110100,而压缩的bcd是用00表示001表示110表示2110表示3等,但压缩的BCD并不固定,可看情况而定,所要的就是用最少的位数表示尽可能多的数。


示例:
编码过程,将数字69进行BCD编码(注:BCD编码低位在前,后面将不再注释)。

1.
69分别转换成二进制表示:600000110900001001),大家可以看到,最大的数字9也只要4个位,在传输过程中白白浪费了4个位;
2.
69合并为一个字节,分别取69二进制编码的低4位,按照低位在前的原则,将9的低四位放前面6的低四位放后面得出新的字节二进制编码是10010110
3. 完成编码过程,69BCD编码结果为10010110
例 写出十进数563.97D对应的8421BCD码。
  563.97D=0101 0110 0011 . 1001 01118421BCD
例 写出8421BCD1101001.010118421BCD对应的十进制数。
  1101001.010118421BCD0110 1001 . 0101 10008421BCD=69.58D

我的更多文章

下载客户端阅读体验更佳

APP专享