之前有遇到一个固定变量需要转换成16进制的int类型,网上找的资料比较少。思考良久,还是自己专门写了针对此的代码,如下:
#include "stdio.h" #include "string.h" int main() { int i; unsigned char string[8] = "1018B002"; unsigned char tempargv[8]; int hex,temp; memcpy(tempargv, string, 8); for(i=0;i<8;i++) { if (tempargv[i] >= '0' && tempargv[i] <= '9') { temp = (tempargv[i] - '0') & 0x0000000f; } else if (tempargv[i] > '9' && tempargv[i] < '16') { temp = (tempargv[i] - 'A' + 10) & 0x0000000f; } hex = temp |(hex << 4); } printf("hex = 0x%x\r\n", hex); system("pause"); return 0; }用此方法可以很简单的将固定4字节字符串转换为16进制的int类型