📜  将十进制转换为二进制 c++ (1)

📅  最后修改于: 2023-12-03 15:09:34.730000             🧑  作者: Mango

将十进制转换为二进制 C++

在编程中,我们有时需要将十进制数转换成二进制数。在这篇文章中,我们将介绍如何使用C++编写一个将十进制数转换为二进制数的程序。

基本思路

将十进制数转换成二进制数的基本思路是使用除以2的余数来构造一个二进制数。

例如,我们要将十进制数9转换成二进制数,可以使用以下步骤:

  1. 将9除以2,得4余1。
  2. 将4除以2,得2余0。
  3. 将2除以2,得1余0。
  4. 将1除以2,得0余1。

因此,十进制数9的二进制表示为1001。

C++实现

下面是C ++程序的实现,用于将十进制数转换为二进制数:

#include <iostream>
#include <vector>
using namespace std;

vector<int> decimalToBinary(int decimalNum) {
    vector<int> binaryNum;
    while(decimalNum > 0) {
        binaryNum.push_back(decimalNum % 2);
        decimalNum /= 2;
    }
    return binaryNum;
}

int main() {
    int decimalNum;
    cout << "Enter decimal number: ";
    cin >> decimalNum;
    vector<int> binaryNum = decimalToBinary(decimalNum);
    cout << "Binary representation: ";
    for(int i = binaryNum.size()-1; i >= 0; i--) {
        cout << binaryNum[i];
    }
    return 0;
}
代码说明
  • 首先,我们包含了iostream和vector库,我们使用vector来存储二进制数。
  • 接下来,我们定义了一个函数decimalToBinary,该函数接受一个十进制数作为参数,并返回一个存储相应二进制数的向量。
  • 在这个函数中,我们使用while循环,直到十进制数等于零。在循环的每一次迭代中,我们使用取模运算符取出十进制数除以2的余数,并将其推入向量中。然后我们将十进制数除以2(即相当于右移一位)。
  • 最后,我们在main函数中调用decimalToBinary函数,并使用一个循环来输出存储在向量中的所有元素。我们从向量的结尾开始循环,以便输出正确的二进制数。
结果

现在,我们输入一个十进制数,程序将输出相应的二进制表示。以下是程序的一些示例输出:

Enter decimal number: 9
Binary representation: 1001
Enter decimal number: 127
Binary representation: 1111111
Enter decimal number: 256
Binary representation: 100000000
总结

在这篇文章中,我们介绍了如何使用C++编写将十进制数转换成二进制数的程序。我们使用了while循环和取模运算符,以便在每个迭代中将十进制数除以2并计算余数。然后,我们将这些余数推到一个向量中,该向量在循环结束时包含二进制数的所有位。最后,我们使用一个循环来输出存储在向量中的所有元素,以形成二进制表示。