
如何将16进制整型转换成字符串,例如0x5ff转换成5ff,0xa45转换成a45,转换后要存进数组
1个回答
展开全部
#include <stdio.h>
char intTochar(int num){
char letter;
if (num<=9)
{
letter='0'+num;
}
else
{
letter='a'+num-10;
}
return letter;
}
void main(){
char arr[50]={'\0'};
int count=0,i=0,num;
printf("请输入一个十六进制整数:");
scanf("%X",&num);
while (num/16!=0)
{
arr[i++]=intTochar(num%16);
num/=16;
count++;
}
if(num!=0){
arr[i]=intTochar(num);
count++;
}
for (i=0;i<count/2;i++){//高低位互换
char mid=arr[i];
arr[i]=arr[count-i-1];
arr[count-i-1]=mid;
}
printf("%s\n",arr);
}
char intTochar(int num){
char letter;
if (num<=9)
{
letter='0'+num;
}
else
{
letter='a'+num-10;
}
return letter;
}
void main(){
char arr[50]={'\0'};
int count=0,i=0,num;
printf("请输入一个十六进制整数:");
scanf("%X",&num);
while (num/16!=0)
{
arr[i++]=intTochar(num%16);
num/=16;
count++;
}
if(num!=0){
arr[i]=intTochar(num);
count++;
}
for (i=0;i<count/2;i++){//高低位互换
char mid=arr[i];
arr[i]=arr[count-i-1];
arr[count-i-1]=mid;
}
printf("%s\n",arr);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询