进制转化(C++完整版)

#include <iostream>
void Menu();
void zhuanTwo(int);
void zhuanEight(int);
void zhuanSixteen(int);
using namespace std;
int main()
{int a;
cout<<"请输入一个数:";
cin>>a;
Menu();
int choose ;
cin>>choose;
switch(choose)
{
case 1:zhuanTwo(a);break;
case 2:zhuanEight(a);break;
case 3:zhuanSixteen(a);break;
}

return 0;
}
void Menu()
{
 cout<<"-----------菜单----------"<<endl;
 cout<<"   1. 十进制转化为二进制"<<endl;
 cout<<"   2. 十进制转化为八进制"<<endl;
 cout<<"   3. 十进制转化为十六进制"<<endl;
 cout<<"-------------------------"<<endl;
 cout<<"请选择: ";
}

void zhuanTwo(int a)
{int i,c[20];
i=19;
while (a!=0)
{a=a%2;
a=a/2;
c[i]=a;
i--;
}

cout<<endl;
int k;
for(k=i+1;k<=19;k++)

cout<<c[k];
cout<<endl;
}

void zhuanEight(int a)
{int i,c[20];
i=19;
while (a!=0)
{a=a%8;
a=a/8;
c[i]=a;
i--;
}

cout<<endl;
int k;
for(k=i+1;k<=19;k++)

cout<<c[k];
cout<<endl;
}
void  zhuanSixteen(int a)
{
 int j,n=0;
 char k[20];
 char s[17]={'0','1','2','3','4','5','6','7','8','9','a','a','C','D','E','F'};
 while(a!=0)
 {
  j=a%16;
  k[n]=s[j];
  a=a/16;
  n++;
 }
 cout<<endl;
 int x;
 cout<<"转换为16进制为:";
 for(x=n-1;x>=0;x--)
   cout<<k[x];
 cout<<endl;
 
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值