c++语言输入一个非负整数,输出它的八进制,十进制以及十六进制数
时间: 2024-10-14 19:13:24 浏览: 35
在C++中,你可以使用`std::ios_base::basefield`标志和`std::hex`, `std::oct`函数来转换并获取非负整数的不同进制表示。下面是一个简单的示例程序:
```cpp
#include <iostream>
#include <string>
int main() {
int num;
std::cout << "请输入一个非负整数: ";
// 读取用户输入
std::cin >> num;
// 检查输入是否是非负整数
if (num >= 0) {
// 转换为八进制、十进制和十六进制
std::string octal = std::to_string(num, 8);
std::string decimal = std::to_string(num);
std::string hex = std::to_string(num, 16);
// 输出结果
std::cout << "八进制: " << octal << "\n";
std::cout << "十进制: " << decimal << "\n";
std::cout << "十六进制: " << hex << "\n";
} else {
std::cerr << "输入错误,只能处理非负整数。\n";
}
return 0;
}
```
在这个程序中,`std::to_string(num, base)`会将`num`转换为给定基数(base)的字符串。注意`std::cin`用于读取用户输入,如果输入的是负数,程序会提示输入错误。
阅读全文