您的位置:首页 > 其它

十六进制字符串转换为十六进制数字

2012-12-03 22:17 351 查看
 

#include <stdio.h>
#include <string.h>

unsigned long atox(char* str)
{
unsigned long var=0;
unsigned long t;
int len = strlen(str);

if (var > 8) //最长8位
{
return -1;
}

strupr(str);//统一大写

for (; *str; str++)
{
if (*str>='A' && *str <='F')
{
t = *str-55;//a-f之间的ascii与对应数值相差55如'A'为65,65-55即为A
}
else
{
t = *str-48;
}

var<<=4;
var|=t;
}

return var;
}

void main()
{
printf("%x\n", atox("FE80"));
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐