递归算法实现:

void print_number(int n)
{
 
if(n >= 2)
 
{
  print_number(n
/2);
 }

 cout
<<n%2<<" ";
}

非递归算法实现:
void print_number1(int n)
{
    
int count = 0;//保存总位数
    
int temp = n;
    
while(temp != 0)
    
{
        temp
/=2;
        count
++;
    }

    temp 
= n;
    
while(temp != 0)
    
{
        cout
<<temp/(int)(pow(2,count-1))<<" ";
        temp 
= temp%((int)(pow(2,count-1)));
        count
--;
    }

}