21xrx.com
2024-05-20 16:28:05 Monday
登录
文章检索 我的文章 写文章
C++程序:十进制转二进制并存入数组
2023-07-06 17:56:42 深夜i     --     --
C++ 十进制 二进制 数组 转换

如果你正在学习C++编程语言,并且正在尝试把一个十进制数转换成二进制数并且存入数组中,那么恭喜你,你来对地方了!在这篇文章中,我将向你展示如何使用C++编写一个简单的程序,将十进制数转换为二进制数,并将其存储到数组中。

首先,让我们来了解一下什么是二进制数。二进制数是由0和1两个数字组成的数码系统,转换为其他进制数时,每个位上的数字都表示相应进制数上的倍数。例如,在十进制数中,每个位数都是10的幂次方,而在二进制数中,它是2的幂次方。因此,在将十进制数转换为二进制数时,我们将用2作为基数。

接下来,我们将讨论将十进制数转换为二进制数的算法。要将一个十进制数转换为二进制数,我们需要执行以下步骤:

1. 将十进制数除以2,得到的结果为商和余数。

2. 将余数存储在一个数组或字符串中,将商作为下一个除数。

3. 重复以上步骤,直到商为0。

4. 将数组或字符串中的数字反向排列,即可得到该数的二进制表示。

现在,让我们来看看C++代码如何实现这个算法:


#include <iostream>

using namespace std;

int main() {

  int decimalNum, remainder, i=0;

  int binaryNum[100];

  cout << "Enter a decimal number: ";

  cin >> decimalNum;

  while(decimalNum!=0) {

    remainder = decimalNum % 2;

    binaryNum[i] = remainder;

    i++;

    decimalNum /= 2;

  }

  cout << "Binary number: ";

  for(int j=i-1; j>=0; j--)

    cout << binaryNum[j];

  return 0;

}

在上面的代码中,我们首先定义了一个变量decimalNum,它用于存储用户输入的十进制数。我们接下来定义了变量remainder和i。remainder用于存储每次求余操作得到的余数,i用于跟踪我们存储在数组binaryNum中的二进制数的位数。

我们还创建了一个名为binaryNum的整数数组,用于存储我们的二进制数。数组的大小足够存储最大的二进制数。

接下来,我们使用while循环对十进制数进行二进制转换。我们在循环中首先执行求余操作。这将返回我们当前十进制数的最后一位,我们将其存储在数组binaryNum中,并将i+1。然后,我们使用整数除法将当前十进制数除以2,以获取下一位。

一旦十进制数变为0,我们跳出循环并使用for循环打印数组binaryNum中的二进制数。我们需要反向打印数组,因为我们从二进制数的最后一位开始存储,而在打印二进制数时,我们需要从左侧打印它。

到此为止,我们已经成功地将十进制数转换为二进制数并将其存储在数组中。你现在也可以使用C++编写一个类似的程序。祝你好运!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复