c++输入非负整数,输出十六进制和八进制
时间: 2024-10-05 19:01:33 浏览: 45
整型数据-C++程序教程
在C++中,要读取非负整数并将其转换为十六进制和八进制输出,你可以使用标准库中的`std::stringstream`和`std::hex`、`std::oct`标志。下面是一个简单的示例程序:
```cpp
#include <iostream>
#include <sstream>
int main() {
int num;
std::cout << "请输入一个非负整数: ";
std::cin >> num;
// 检查输入是否是非负整数
if (num >= 0) {
std::stringstream ss;
ss << std::dec << num; // 将十进制表示转换到stringstream
std::string hex_str, octal_str;
ss >> hex_str; // 获取十六进制字符串,自动应用std::hex标志
ss >> octal_str; // 获取八进制字符串,无需额外标志,因为默认就是八进制
std::cout << "十六进制: " << hex_str << std::endl;
std::cout << "八进制: " << octal_str << std::endl;
} else {
std::cout << "错误!输入了一个负数。" << std::endl;
}
return 0;
}
```
在这个程序中,用户会被提示输入一个整数,然后我们检查它是否非负。如果是,我们将数字转换成十六进制和八进制字符串,并分别打印出来。
阅读全文