给定数字的二进制表示形式的C++实现


二进制数是仅由两个数字 0 和 1 组成的一个数。例如,01010111。

用二进制形式表示一个给定数的方法有很多。

递归方法

此方法用于使用递归将一个数表示成其二进制形式。

算法

Step 1 : if number > 1. Follow step 2 and 3.
Step 2 : push the number to a stand.
Step 3 : call function recursively with number/2
Step 4 : pop number from stack and print remainder by dividing it by 2.

示例

 实时演示

#include<iostream>
using namespace std;
void tobinary(unsigned number){
   if (number > 1)
      tobinary(number/2);
   cout << number % 2;
}
int main(){
   int n = 6;
   cout<<"The number is "<<n<<" and its binary representation is ";
   tobinary(n);
   n = 12;
   cout<<"\nThe number is "<<n<<" and its binary representation is ";
   tobinary(n);
}

输出

The number is 6 and its binary representation is 110
The number is 12 and its binary representation is 1100

更新于: 24-Oct-2019

3K+ 浏览

启动你的 职业生涯

完成课程即可获得认证

开始学习
广告