//十进制数转化为十六进制数
#include<iostream>
using namespace std;
int main()
{
int n,m,p;
while(cin>>n)
{
char a[35];
int i=0,j=0;
m=n/16; //商
p=n-16*m;//余数
if(p>=0&&p<=9)
a[i++]=p+'0';
else if(p==10)
a[i++]='A';
else if(p==11)
a[i++]='B';
else if(p==12)
a[i++]='C';
else if(p==13)
a[i++]='D';
else if(p==14)
a[i++]='E';
else
a[i++]='F';
//当商不为0情况,继续整除基数16
while(m)
{
n=m;
m=n/16;
p=n-16*m;
if(p>=0&&p<=9)
a[i++]=p+'0';
else if(p==10)
a[i++]='A';
else if(p==11)
a[i++]='B';
else if(p==12)
a[i++]='C';
else if(p==13)
a[i++]='D';
else if(p==14)
a[i++]='E';
else
a[i++]='F';
}
a[i]='\0';
for(j=i-1;j>=0;j--)//逆序输出数组a中的字符,便可以得到相应的16进制数
cout<<a[j];
cout<<endl;
}
return 0;
}
10进制数转化16进制数
最新推荐文章于 2023-09-12 12:40:27 发布