十进制转换成八进制c++
时间: 2024-10-14 14:13:09 浏览: 15
在C++中,将十进制整数转换为八进制通常可以使用内置的库函数`std::oct`或者手动通过循环除法和取余的方式实现。以下是两种方法:
1. 使用内置函数:
```cpp
#include <iostream>
#include <string>
int main() {
int decimal_num = 123; // 需要转换的十进制数
std::string octal_str = std::to_string(std::oct(decimal_num)); // 将八进制数转换为字符串
std::cout << "八进制表示: " << octal_str << std::endl;
return 0;
}
```
运行此程序,会输出 `八进制表示: 173`。
2. 手动实现转换:
```cpp
#include <iostream>
int decimal_to_octal(int decimal) {
if (decimal == 0) return 0;
int octal_digit = decimal % 8; // 取余得到当前位的八进制值
return octal_digit * pow(10, (decimal / 8 - 1)) + decimal_to_octal(decimal / 8); // 递归处理剩余部分
}
int main() {
int decimal_num = 123;
int octal_num = decimal_to_octal(decimal_num);
std::cout << "八进制表示: " << octal_num << std::endl;
return 0;
}
```
这种方法通过递归逐步计算每个八进制位的值。
阅读全文