💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# C++ 程序:将二进制数转换为十进制,反之亦然 > 原文: [https://www.programiz.com/cpp-programming/examples/binary-decimal-convert](https://www.programiz.com/cpp-programming/examples/binary-decimal-convert) #### 在此示例中,您将学习通过创建用户定义的函数将二进制数转换为十进制,以及将十进制数手动转换为二进制。 要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题: * [C++ 函数](/cpp-programming/function) * [C++ 中用户定义函数的类型](/cpp-programming/user-defined-function-types) * [C++ 递归](/cpp-programming/recursion) * [C++ `if`,`if...else`和嵌套`if...else`](/cpp-programming/if-else) * [C++ `while`和`do...while`循环](/cpp-programming/do-while-loop) * * * 访问此页面以了解[如何将二进制数转换为十进制](http://www.wikihow.com/Convert-from-Binary-to-Decimal "Binary number to Decimal")。 ## 示例 1:将二进制数转换为十进制 ```cpp #include <iostream> #include <cmath> using namespace std; int convertBinaryToDecimal(long long); int main() { long long n; cout << "Enter a binary number: "; cin >> n; cout << n << " in binary = " << convertBinaryToDecimal(n) << "in decimal"; return 0; } int convertBinaryToDecimal(long long n) { int decimalNumber = 0, i = 0, remainder; while (n!=0) { remainder = n%10; n /= 10; decimalNumber += remainder*pow(2,i); ++i; } return decimalNumber; } ``` **输出** ```cpp Enter a binary number: 1111 1111 in binary = 15 ``` 访问此页面以了解[如何将十进制数转换为二进制](http://www.wikihow.com/Convert-from-Decimal-to-Binary "Binary number to Decimal")。 ## 示例 2:将十进制数转换为二进制 ```cpp #include <iostream> #include <cmath> using namespace std; long long convertDecimalToBinary(int); int main() { int n, binaryNumber; cout << "Enter a decimal number: "; cin >> n; binaryNumber = convertDecimalToBinary(n); cout << n << " in decimal = " << binaryNumber << " in binary" << endl ; return 0; } long long convertDecimalToBinary(int n) { long long binaryNumber = 0; int remainder, i = 1, step = 1; while (n!=0) { remainder = n%2; cout << "Step " << step++ << ": " << n << "/2, Remainder = " << remainder << ", Quotient = " << n/2 << endl; n /= 2; binaryNumber += remainder*i; i *= 10; } return binaryNumber; } ``` **输出** ```cpp Enter a decimal number: 19 Step 1: 19/2, Remainder = 1, Quotient = 9 Step 2: 9/2, Remainder = 1, Quotient = 4 Step 3: 4/2, Remainder = 0, Quotient = 2 Step 4: 2/2, Remainder = 0, Quotient = 1 Step 5: 1/2, Remainder = 1, Quotient = 0 19 in decimal = 10011 in binary ```