2022年5月7日
13:50
编程实现读取一个16进制的数字,实现2-10进制的,各种转换的函数。
#include <stdio.h>
char * hex2n(char * str, int a, int radix){
int cnt = 0;
char * p = str;
char * q = NULL;
while(a){
str[cnt++] = a % radix + 48;
a /= radix; //取余得到转换后的值
}
q = str + cnt -1; //最后一位
while( p < q){ //逆序
char tmp = 0;
tmp = *p;
*p = *q;
*q = tmp;
p++;
q--;
}
return str;
}
int main(){
int a = 0;
int radix = 0;
char str[100] = { 0 };
scanf("%x %d", &a, &radix);
hex2n(str, a, radix);
printf("%s", str);
}