我将十六进制值存储为字符:
char A = '0';
char B = '6';
char C = 'E';
...我需要将它们转换为整数。我知道'atoi',但这只适用于十进制编码的字符值。有类似的功能吗?
最佳答案
int v = (A > '9')? (A &~ 0x20) - 'A' + 10: (A - '0');
对于 ASCII 是正确的。对于其他字符集,类似的方法也行得通,但您需要使用 toupper
而不是 &~ 0x20
。
关于c++ - C/C++ : Converting hexadecimal value in char to integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11986822/