输入一个十进制整数,将其转换为八进制后输出
时间: 2024-11-05 11:31:02 浏览: 10
要将一个十进制整数转换成八进制,你可以使用C++标准库中的`std::bitset`或者手动进行除法和取余操作。这里我会演示如何使用`std::bitset`:
```cpp
#include <iostream>
#include <bitset>
int main() {
int decimal_num;
std::cout << "Enter a decimal integer: ";
std::cin >> decimal_num;
// 使用std::bitset转换
std::bitset<32> binary_representation(decimal_num);
std::string octal_string = binary_representation.to_string(8); // 二进制转八进制
// 输出结果前加上0如果不足三位,以补全八位
if (octal_string.size() < 3) {
octal_string = "0" + octal_string;
}
std::cout << "The octal representation is: " << octal_string << "\n";
return 0;
}
```
这段代码首先获取用户的输入,然后用`std::bitset`将其转换为二进制,接着使用`.to_string(8)`方法将其转换为八进制字符串。为了保持一致性(八进制通常有三位),如果得到的字符串长度小于3,会在前面添加一个'0'。
阅读全文