十进制转二进制、八进制、十六进制的经典程序

#include <iostream.h>

//十进制数转换成二进制数字
void fun_1(int n)
{
   if(n<2)   
       cout<<n;
   if(n>=2)  
   {
     fun_1(n/2);
     cout<<n%2;
   }
}

//十进制数字转换成八进制数字
void fun_2(int n)
{
  if(n<8)   
      cout<<n;
  if(n>=8)  
  {
    fun_2(n/8);
    cout<<n%8;
  }
}

//十进制数转换成十六进制数字
void fun_3(int n)
{
  switch(n)
  {
     case 10:   cout<<"A"; break;
     case 11:   cout<<"B"; break;
     case 12:   cout<<"C"; break;
     case 13:   cout<<"D"; break;
     case 14:   cout<<"E"; break;
     case 15:   cout<<"F"; break;
     default:   cout<<n;   
  }
}     

void fun_4(int n)
{
   if(n<16)   
       fun_3(n);
   if(n>=16)  
   {
     fun_4(n/16);
     fun_3(n%16);
   }
}

//主函数
void main()

    int n;
    cout<<"请输入n的值:  "<<endl;
    cin>>n;
    cout<<"十进制数字转换成二进制,八进制,十六进制数字结果如下:"<<endl;
    fun_1(n);        
    cout<<endl;      //输出结果换行
    fun_2(n);        
    cout<<endl;      
    fun_4(n);       
    cout<<endl;    


输出结果:

posted on 2021-05-08 15:39  findinglei  阅读(511)  评论(0)    收藏  举报

导航