十六进制16转为十进制赋给int类型为16 c++
时间: 2024-11-12 20:31:58 浏览: 6
二进制,八进制,十进制,十六进制相互转换
在C++中,十六进制数转换为十进制并赋值给`int`类型的步骤如下:
```cpp
#include <iostream>
#include <conio.h> // 需要包含这个头文件以便于获取ASCII码
// 函数将十六进制字符串转换为整数
int hexToDecimal(const std::string& hexStr) {
int decimal = 0;
for (size_t i = 0; i < hexStr.length(); ++i) {
char hexChar = hexStr[i];
if (hexChar >= '0' && hexChar <= '9') { // 从0到9
decimal = decimal * 16 + (hexChar - '0');
} else if (hexChar >= 'A' && hexChar <= 'F') { // 从A到F,对应10到15
decimal = decimal * 16 + (hexChar - 'A' + 10);
} else if (hexChar >= 'a' && hexChar <= 'f') { // 从a到f,对应10到15
decimal = decimal * 16 + (hexChar - 'a' + 10);
} else {
// 如果不是有效的十六进制字符,则忽略
continue;
}
}
return decimal;
}
int main() {
std::string hexNum = "16"; // 十六进制数16的字符串形式
int decimalValue = hexToDecimal(hexNum);
std::cout << "十六进制 " << hexNum << " 转换为十进制等于: " << decimalValue << std::endl;
return 0;
}
```
当你运行这段代码,它会输出 `十六进制 16 转换为十进制等于: 22`。
阅读全文