酷代码 AI
菜单
服务商

使用 C++ 实现二进制到八进制的转换程序

以下是一个用 C++ 编写的程序,用于将二进制数转换为八进制数: ```cpp #include <iostream> #include <string> #include <cmath> // 二进制字符串转换为十进制数 int binaryToDecimal(const std::string& binary) { int decimal = 0; int power = 0; for (int i = binary.length() - 1; i >= 0; --i) { if (binary[i] == '1') { decimal += std::pow(2, power); } ++power; } return decimal; } // 十进制数转换为八进制字符串 std::string decimalToOctal(int decimal) { if (decimal == 0) return "0"; std::string octal = ""; while (decimal > 0) { octal = std::to_string(decimal % 8) + octal; decimal /= 8; } return octal; } int main() { std::string binary; std::cin >> binary; // 先将二进制转换为十进制 int decimal = binaryToDecimal(binary); // 再将十进制转换为八进制 std::string octal = decimalToOctal(decimal); std::cout << octal << std::endl; return 0; } ``` ### 代码解释: 1. **`binaryToDecimal` 函数**:该函数接受一个二进制字符串作为输入,将其转换为十进制数。通过遍历二进制字符串,从右到左依次计算每一位的权重并累加,最终得到十进制数。 2. **`decimalToOctal` 函数**:该函数接受一个十进制数作为输入,将其转换为八进制字符串。通过不断地取模和整除操作,将十进制数转换为八进制数。 3. **`main` 函数**:读取用户输入的二进制字符串,调用 `binaryToDecimal` 函数将其转换为十进制数,再调用 `decimalToOctal` 函数将十进制数转换为八进制字符串,最后输出八进制字符串。 ######[AI问答 | 509点数解答 | 2026-03-21 19:51:10]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]