将任意十进制数转化为16进制数;
#include<stdio.h>
int main()
{
int i=0;
char temp=0;
unsigned int a=0;
unsigned char mask=0x0000000f;
printf("Please enter number:");
scanf("%d",&a);
char str[11];
str[0]='0';
str[1]='X';
str[10]='\0';
for(i=0;i<8;i++)
{
temp=a>>(i*4)&mask;
if(temp<10)
{
str[9-i]=temp+'0';
}
else
{
str[9-i]=temp-10+'A';
}
}
printf("The result:\n");
printf("%s\n",str);
return 0;
}