十进制转十六进制的C语言实现

十进制转十六进制往往是一个很小的需求,小得让人不知道是自己动手写好,还是先搜索一下

以下是我的C语言实现,稍加修改,还可以转其他进制,例如自创的32进制、64进制、99进制等……

void reversestr(char *source,char target[],unsigned int length)
{
int i;
for(i=0;i<length;i++)
target[i]=source[length-1-i];
target[i]=0;
}

void tohex(unsigned long num,char *hexStr)
{
unsigned long n = num;
char hextable[]="0123456789ABCDEF";
char temphex[16],hex[16];
int i=0;
while(n){
temphex[i++]=hextable[n%16];
n /= 16;
}
temphex[i]=0;
reversestr(temphex,hex,i);
strcpy(hexStr,hex);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章