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

2893阅读 0评论2011-08-21 001xiaofei
分类:C/C++

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

 

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

 

void reversestr(char *source,char target[],unsigned int length)
{
int i;
for(i=0;itarget[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);
}

上一篇:C语言中数字转化为字符串的库函数
下一篇:常见排序算法的实现(一)-插入排序