输入整型变量x的值 输出整型变量x对应的十进制八进制和十六进制形式 c++
时间: 2024-09-26 14:18:55 浏览: 35
十进制整数和十六进制字符串转换
在C++中,你可以使用`std::bitset`或`std::stringstream`以及内置的`std::hex`和`std::oct`标志来分别获取整型变量的十进制、八进制和十六进制表示。下面是一个示例代码:
```cpp
#include <iostream>
#include <bitset>
int main() {
int x;
std::cout << "请输入一个整数: ";
std::cin >> x;
// 十进制
std::cout << "十进制: " << x << std::endl;
// 八进制
std::ostringstream oss;
oss << std::setbase(8) << x;
std::string octal = oss.str();
std::cout << "八进制: " << octal << std::endl;
// 十六进制
std::cout << "十六进制: " << std::hex << static_cast<unsigned>(x) << std::endl; // 注意:需要先转换为无符号整型
return 0;
}
```
在这个例子中,我们首先读取用户输入的整数,然后用`std::setbase(8)`设置输出基础为8(八进制),接着用`oss`流操作符将整数转换为八进制字符串。对于十六进制,我们利用了`std::hex`标志,并将整数转换为无符号类型以避免负数的情况。
阅读全文