c++输入八进制和十六进制的值 ,输出十进制值
时间: 2024-10-16 19:13:22 浏览: 37
在C++中,你可以使用标准库中的`std::cin`来读取用户输入的八进制和十六进制数值,并将其转换为十进制。下面是一个简单的示例:
对于八进制输入:
```cpp
#include <iostream>
#include <sstream>
int main() {
std::string octal_str;
std::cout << "请输入一个八进制数:";
std::cin >> octal_str;
int decimal_value = std::stoi(octal_str, nullptr, 8); // 第二个参数设置基数为8
std::cout << "该八进制数转换为十进制为:" << decimal_value << std::endl;
return 0;
}
```
对于十六进制输入:
```cpp
#include <iostream>
#include <sstream>
int main() {
std::string hex_str;
std::cout << "请输入一个十六进制数:";
std::cin >> hex_str;
int decimal_value = std::stoi(hex_str, nullptr, 16); // 第二个参数设置基数为16
std::cout << "该十六进制数转换为十进制为:" << decimal_value << std::endl;
return 0;
}
```
在这个例子中,`std::stoi`函数会尝试将字符串转换为整数,第二个参数指定输入的字符串可能是哪种进制。
阅读全文