将16进制转化为10进制 cpp代码
时间: 2023-08-13 10:02:30 浏览: 193
以下是将16进制转化为10进制的C++代码示例:
```cpp
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int hexToDec(string hex){
int dec = 0;
int size = hex.size();
for(int i = 0; i < size; i++){
int digit = 0;
char current = hex[size - 1 - i];
if(current >= '0' && current <= '9'){
digit = current - '0';
}else if(current >= 'a' && current <= 'f'){
digit = current - 'a' + 10;
}else if(current >= 'A' && current <= 'F'){
digit = current - 'A' + 10;
}
dec += digit * pow(16, i);
}
return dec;
}
int main(){
string hex = "1A";
int dec = hexToDec(hex);
cout << hex << " in hex is " << dec << " in decimal." << endl;
return 0;
}
```
以上代码中,`hexToDec` 函数接收一个十六进制字符串作为参数,返回对应的十进制整数。在函数中,使用了循环来遍历字符串中的每一位,通过判断字符的范围来计算对应的十进制值。最后使用 `pow` 函数计算出该位所代表的十六进制的权值,然后将其加到最终结果 `dec` 中。
阅读全文