打印

长整型十六进制数据转换成十进制 C51如何高效率实现?

[复制链接]
5981|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
newnetren|  楼主 | 2007-9-28 00:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如 0x0074cbb1 (7654321)
要分别取出 个位 十位 千位 万位 ......

void LongIntTOAsc(unsigned long int a1,unsigned char *pDes)
{

*pDes++  = '0';
*pDes++ = HexToAsc(a1/1000000);
a1 = a1%1000000;
*pDes++ = HexToAsc(a1/100000);
a1 = a1%100000;
*pDes++ = HexToAsc(a1/10000);
a1 = a1%10000;
*pDes++ = HexToAsc(a1/1000);
a1 = a1%1000;
*pDes++ = HexToAsc(a1/100);
a1 = a1%100;
*pDes++ = HexToAsc(a1/10);
*pDes = HexToAsc(a1%10);
}
main
{
unsigned long int k1;
unsigned char s1[9];
k1 = 0x0074cbb1 ;
LongIntTOAsc(k1,s1);
//s1 = "07654321"
}

这种算法太占资源了,还有没有更好的算**

相关帖子

沙发
coldra| | 2007-9-28 05:00 | 只看该作者

写个循环函数

使用特权

评论回复
板凳
ayb_ice| | 2007-9-28 07:13 | 只看该作者

这也很是很正常的用法....

最高效就是用汇编写...

使用特权

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

本版积分规则

2

主题

1

帖子

1

粉丝