Chinaunix首页 | 论坛 | 博客
  • 博客访问: 384468
  • 博文数量: 81
  • 博客积分: 1290
  • 博客等级: 中尉
  • 技术积分: 821
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-17 07:48
个人简介

Just do IT.

文章分类

全部博文(81)

分类: C/C++

2011-08-21 15:43:44

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

 

以下是我的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);
}

阅读(2851) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~