十进制转十六进制
1、十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
2、输入格式 ,输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647。
3、输出格式,输出这个整数的16进制表示。
4、样例输出 ,1E:
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
int main() {
__int64 shi;scanf("%I64d",&shi);
if (shi<=15) {
string ans="";
if (shi<10)
ans += shi+'0';
else
ans += shi-10+'A';
for (int i=ans.length()-1; i>=0; i--)
cout<<ans[i];
}
else {
string ans="";
do {
int tmp = shi%16;
if (tmp<10)
ans += tmp+'0';
else
ans += tmp-10+'A';
shi /= 16;
} while (shi>=16);
if (shi<10)
ans += shi+'0';
else
ans += shi-10+'A';
for (int i=ans.length()-1; i>=0; i--)
cout<<ans[i];
}
return 0;
}
扩展资料
十六进制转换为十进制
十六进制数转十进制数方法:十六进制数按权展开,从十六进制数的右边第一个数开始,每一个乘以16的n次方,n从0开始,每次递增1。然后得出来的每个数相加即是十进制数。
参考资料来源:百度百科—十六进制转换