两个字节的二进制数转换成BCD 码.pdfVIP

  • 109
  • 0
  • 约4.05千字
  • 约 4页
  • 2017-08-29 发布于浙江
  • 举报
两个字节的二进制数转换成BCD 码

;已知16 位二进制整数n 以b15~b0表示,取值范围为0~65535。 ;那么可以写成: ;n =[b15~b0] ;把16 位数分解成高8 位、低8 位来写,也是常见的形式: ;n =[b15~b8]*256 +[b7~b0] ;那么,写成下列形式,也就可以理解了: ;n =[b15~b12]*4096 +[b11~b0] ;式中高4 位[b15~b12]取值范围为0~15,代表了4096 的个数; ;上式可以变形为: ;n =[b15~b12]*4000 +{[b15~b12]* (100-4)+ [b11~b0]} ;用x 代表[b15~b12],有: ;n = x* 4000+ {x*(100 -4)+[b11~b0]} ;即: ;n = 4*x(千位)+x (百位)+[b11~b0]-4*x ;写到这里,就可以看出一点BCD 码变换的意思来了。 ;上式中后面的位:[b11~b0]-4*x,如果小于256,那就太简单了,马上就可以去按照常规转 换BCD 了。 ;如果数值较大,就要把[b11~b7]看成128 的个数y;在百位中加上y、在十位加上3*y、并 在[b6~b0]中减去2*y。 ;那么就有: ;n =4*x (千位) +x(百位)+ [b11~b0]-4*x ;n =4*x (千位) +(x+ y)(百位) +3*

文档评论(0)

1亿VIP精品文档

相关文档