算法:整型16进制转换成整型10进制?

ycbcc 2011-07-12 04:34:05
我所知道的:先把整形转换成字符串,再通过sscanf或者strtoul函数来转换成10进制。
可是,这太麻烦了。
求最简单方案?
...全文
144 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ff007bit 2011-07-12
  • 打赏
  • 举报
回复
直接等于就可以了~
要是输出的话,用%x就可以了吧~
tab0tab 2011-07-12
  • 打赏
  • 举报
回复
=赋值
luciferisnotsatan 2011-07-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]

如果你不是字符串,那就直接等于就是了

int i = 0x10;
[/Quote]
++
内存里就是16进制表示的,至于如何输出,看你printf时用%什么了
至善者善之敌 2011-07-12
  • 打赏
  • 举报
回复
看这个例子,你会发现一切皆是浮云

int main()
{ long m,k,w,q,p,a,b[1000],y,i; //视编辑器Tc可以用long 或unsigned long
char c[39]={"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
cout<<"请输入要转换的数"<<endl;
cin>>q;
p=q;
y=0;
w=8;
while(q)
{ b[y++]=q%w;
q/=w;
}
cout<<"8进制为:";
for(i=y-1;i>=0;i--)
cout<<c[b[i]];
cout<<endl;
w=16; //w改变可以求 2-36进制转换
q=p;
y=0;
while(q)
{ b[y++]=q%w;
q/=w;
}
cout<<"16进制为:";
for(i=y-1;i>=0;i--)
cout<<c[b[i]];
cout<<endl;
getchar();getchar();getchar();getchar();
return 0;
}
c_losed 2011-07-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]

如果你不是字符串,那就直接等于就是了

int i = 0x10;
[/Quote]
++
可以直接等
bdmh 2011-07-12
  • 打赏
  • 举报
回复
如果你不是字符串,那就直接等于就是了

int i = 0x10;

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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