如何在C++中快速将十六进制数转换为十进制数?
时间: 2024-12-14 20:27:49 浏览: 6
C++实现十六进制字符串转换为十进制整数的方法
在C++中,你可以通过遍历并计算每一位的值来快速将十六进制数转换为十进制数。一种常见的做法是利用位运算符。以下是一个简单的函数示例:
```cpp
#include <string>
#include <cctype>
int hexToDecimal(std::string hexStr) {
int decimal = 0;
for (size_t i = 0; i < hexStr.length(); ++i) {
char c = hexStr[i];
if (isxdigit(c)) { // 检查字符是否为十六进制数字(0-9,A-F,a-f)
int digitValue;
if (isdigit(c)) {
digitValue = c - '0'; // 小写字母和大写字母对应的数值相同
} else {
digitValue = c - 'A' + 10; // 对于'A'到'F',减去'A'加上10
}
decimal = 16 * decimal + digitValue; // 乘以16并将当前位值累加到结果上
}
}
return decimal;
}
```
阅读全文