char get_char(int i){
if(i<10) return i+'0';
return i-10+'a';
}
void swap(char *a, char *b){
char c = *a;
*a = *b;
*b = c;
}
void reverse(char *s){
int i=0, j=strlen(s)-1;
while(i<j){
swap(&s[i], &s[j]);
i++;
j--;
}
}
char * toHex(int n){
int i;
unsigned int num = n;
char *ret = (char *)malloc(sizeof(char) * 20);
int index = 0;
while(num) {
ret[index++] = get_char( ((char*)&num)[0] &0xf);
num >>= 4;
}
if(index== 0){
ret[index++] = '0';
}
ret[index] = '\0';
reverse(ret);
return ret;
}
leetcode-405. 数字转换为十六进制数-C语言
最新推荐文章于 2022-04-16 00:00:37 发布