16进制转10进制

fengdream 2007-04-24 11:55:59
内存中,以*p所指的地址已存放4个字节16进制数
如何转换成10位(已知小于等于10位)10进制数?不足10位前面补零,请问如何操作?谢谢!
...全文
341 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
freshui 2007-04-24
  • 打赏
  • 举报
回复
内存中的数据都是二进制的
你看到的多少进制都是显示给你的结果罢了

printf("%0*d",10,*p);
freshui 2007-04-24
  • 打赏
  • 举报
回复
你要写到数组中就:

char dst[10];

sprintf(dst,"%0*d",10,*p);
freshui 2007-04-24
  • 打赏
  • 举报
回复
p指向的是整形数据
%d是输出内存中的整形数据
%0*d 是输出指定长度的整形数据,位数不够前面补领, 位数由第一个参数给定
这里的第一个参数是10
刚好符合你的要求
fengdream 2007-04-24
  • 打赏
  • 举报
回复
printf("%0*d",10,*p);
是什么意思啊?以前没见过啊...
yoyo_alex_lw 2007-04-24
  • 打赏
  • 举报
回复
sprintf("%0*d",10,*p);
fengdream 2007-04-24
  • 打赏
  • 举报
回复
谢谢大家,解决了,用_itoa(),系统函数,呵呵以前没用过...
小一郎 2007-04-24
  • 打赏
  • 举报
回复
用long转换
fengdream 2007-04-24
  • 打赏
  • 举报
回复
对,就是转换成字符数组,我要用这个数组做运算,temp[10]存放在数组后几位,前面补零。请问如何运算啊?
fohonet 2007-04-24
  • 打赏
  • 举报
回复
1.16进制转换成10进制

2.补零的话可以考虑转换成字符数组,

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧