我得到了一个字符串 hex_txt,其中包含一个 4 位十六进制数字,按照代码中概述的方式,分成两个数组条目。我需要将其转换为十进制。以下是我的做法。
unsigned char hex_txt[] = "\xAB\xCD";
unsigned char hex_num[5];
unsigned int dec_num;
sprintf(hex_num, "%.2x%.2x", (int)hex_txt[0], (int)hex_txt[1]);
printf("%s\n", hex_num);
sscanf(hex_num, "%x", &dec_num);
printf("%d\n", dec_num);
有没有更快或更有效的方法来做到这一点?这是我目前的临时解决方案,但我想知道是否有合适的方法来做到这一点。