打印

发表一个自己用的HEX转BCD流程图

[复制链接]
2474|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ybtthaxiq|  楼主 | 2008-10-24 10:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原理:
  假设需要转换的hex码为hex(0x456789123),对应转换后的单元为bcd;
  t,k 为固定常数;
转换部分:
  for(i = 0;;i++)
  { 
   hex= hex/ t * k+ hex; 
   bcd += (hex& 0xf) << 4*i ;   ->   取最低位
   hex >> 4;
   if(hex ==0)
      break;
   }
   bcd = 18630611235;

相关帖子

沙发
xwj| | 2008-10-24 10:50 | 只看该作者

晕,这是多少位的计算?

t、k分别为多少?

使用特权

评论回复
板凳
ejack| | 2008-10-24 12:30 | 只看该作者

hex

使用特权

评论回复
地板
ejack| | 2008-10-24 12:31 | 只看该作者

hex声明成什么类型?这么老长?

long long ago型???

使用特权

评论回复
5
ybtthaxiq|  楼主 | 2008-10-24 12:50 | 只看该作者

):

只要编译器允许,uint64  uint32都可以转换的
t = 0x0a  k = 0x6  
hex >> 4;
应该是改为
hex = hex >> 4;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

29

帖子

0

粉丝