首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

16进制转10进制解决方法

2012-02-11 
16进制转10进制内存中,以*p所指的地址已存放4个字节16进制数如何转换成10位(已知小于等于10位)10进制数?不

16进制转10进制
内存中,以*p所指的地址已存放4个字节16进制数
如何转换成10位(已知小于等于10位)10进制数?不足10位前面补零,请问如何操作?谢谢!

[解决办法]
内存中的数据都是二进制的
你看到的多少进制都是显示给你的结果罢了

printf( "%0*d ",10,*p);
[解决办法]
1.16进制转换成10进制

2.补零的话可以考虑转换成字符数组,
[解决办法]
用long转换
[解决办法]
sprintf( "%0*d ",10,*p);

[解决办法]
p指向的是整形数据
%d是输出内存中的整形数据
%0*d 是输出指定长度的整形数据,位数不够前面补领, 位数由第一个参数给定
这里的第一个参数是10
刚好符合你的要求
[解决办法]
你要写到数组中就:

char dst[10];

sprintf(dst, "%0*d ",10,*p);

热点排行