21xrx.com
2025-02-16 22:05:57 Sunday
登录
文章检索 我的文章 写文章
C++实现十进制转换为二进制的函数
2023-07-03 12:42:11 深夜i     --     --
C++ 十进制 二进制 转换函数 实现

C++是一门强大的编程语言,它提供了许多的库函数和工具函数,可以轻松地实现各种功能。其中,将十进制转换为二进制是一个常见的需求,这也是一个很好的练手题目。

在C++中,可以使用递归方法或循环方法实现十进制转换为二进制。下面我们分别来介绍这两种方法。

首先,我们来看看递归方法。这种方法比较简单,由于十进制数每次除以二后的商和余数是可以确定的,因此我们可以通过递归的方法从最高位开始计算,不断获取商和余数,最终将它们连接起来,就得到了二进制数。

下面是递归方法的代码实现:


#include<iostream>

using namespace std;

void decimalToBinary(int n)

{

  if(n==0)

    return;

  

  decimalToBinary(n/2);

  cout<<n%2;

}

int main()

{

  int n;

  cout<<"请输入一个十进制数:"<<endl;

  cin>>n;

  cout<<"转换为二进制数为:";

  decimalToBinary(n);

  cout<<endl;

  return 0;

}

运行程序,输入一个十进制数,即可得到它的二进制数。

接下来,我们来看看循环方法。这种方法也比较简单,只需要不断将十进制数除以二,并取余数,最后将余数连接起来即可得到二进制数。

下面是循环方法的代码实现:


#include<iostream>

using namespace std;

void decimalToBinary(int n)

{

  int arr[100];

  int i = 0;

  while(n!=0){

    arr[i] = n%2;

    n = n/2;

    i++;

  }

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

    cout<<arr[j];

  }

}

int main()

{

  int n;

  cout<<"请输入一个十进制数:"<<endl;

  cin>>n;

  cout<<"转换为二进制数为:";

  decimalToBinary(n);

  cout<<endl;

  return 0;

}

通过递归方法和循环方法的对比可以发现,两种方法虽然思路不同,但都可以实现将十进制数转换为二进制数的功能。在实际开发中,我们可以根据需要选择不同的方法来实现这个功能。

总之,对于C++编程初学者来说,这个题目是个不错的练手题目。通过自己动手实现代码,可以帮助我们加深对C++语言的理解,同时也可以提高我们的编程能力。

  
  

评论区

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