十六进制字符串转换成十进制整数,给出语言代码
时间: 2023-09-28 16:10:11 浏览: 96
以下是Python的代码示例:
```python
hex_str = "2A"
dec_int = int(hex_str, 16)
print(dec_int) # 输出:42
```
解释:`int()` 函数可以将字符串转换为指定进制的整数,其第二个参数为指定的进制数,16 表示十六进制。
相关问题
十六进制字符串转换成十进制整数,给出c++代码
可以使用C++中的`stoi`函数将十六进制字符串转换为十进制整数,代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string hex_str = "2A"; // 十六进制字符串
int dec_num = stoi(hex_str, 0, 16); // 转换为十进制整数
cout << dec_num << endl; // 输出结果:42
return 0;
}
```
在`stoi`函数中,第二个参数为起始位置,这里设为0,表示从字符串的第一个字符开始转换;第三个参数为进制数,这里设为16,表示将字符串解析为十六进制数字。
c++十六进制字符串转换成十进制整数代码
以下是将十六进制字符串转换为十进制整数的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函数进行转换,并将结果打印出来。
阅读全文