c++十六进制字符串转换成十进制整数代码
时间: 2023-09-28 09:04:11 浏览: 132
c++ 十六进制转换十进制
4星 · 用户满意度95%
以下是将十六进制字符串转换为十进制整数的C++代码示例:
```c++
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int hexToDec(string hex) {
int decimal = 0;
int base = 1;
int len = hex.length();
for (int i = len - 1; i >= 0; i--) {
if (hex[i] >= '0' && hex[i] <= '9') {
decimal += (hex[i] - 48) * base;
base *= 16;
}
else if (hex[i] >= 'A' && hex[i] <= 'F') {
decimal += (hex[i] - 55) * base;
base *= 16;
}
else if (hex[i] >= 'a' && hex[i] <= 'f') {
decimal += (hex[i] - 87) * base;
base *= 16;
}
}
return decimal;
}
int main() {
string hex = "DEADBEEF";
int decimal = hexToDec(hex);
cout << hex << " in decimal is " << decimal << endl;
return 0;
}
```
这个函数将输入的十六进制字符串转换为十进制整数。函数的算法是将十六进制字符串中的每个字符转换为相应的数字,然后乘以16的幂次方,最后将所有数字相加得到结果。
在主函数中,我们将十六进制字符串"DEADBEEF"传递给hexToDec函数进行转换,并将结果打印出来。
阅读全文