#include <iostream>
#include <string>
using namespace std;
void er(){
cout<<"请输入一个二进制的数:";
}
void ba(){
cout<<"请输入一个八进制的数:";
}
void shi(){
cout<<"请输入一个十进制的数:";
}
void shiliu(){
cout<<"请输入一个十六进制的数:";
}
void erzhuanshi(){
string a;
int p = 1;
int s = 0;
er();
cin>>a;
for(int i = a.length()-1;i>=0;i--){
int x = a[i]-'0';
s += x*p;
p *= 2;
}
cout<<s<<endl;
}
void shizhuaner(){
int a[10],n,i;
shi();
cin>>n;
for(i=0;n>0;i++){
a[i] = n%2;
n = n/2;
}
for(i=i-1;i>=0;i--){
cout<<a[i];
}
}
void bazhuaner(){
int a[10],n,i;
ba();
cin>>n;
for(i=0;n>0;i++){
a[i] = n%2;
n = n/2;
}
for(i=i-1;i>=0;i--){
cout<<a[i];
}
}
void erzhuanba(){
string a;
int p = 1;
int s = 0;
er();
cin>>a;
for(int i = a.length()-1;i>=0;i--){
int x = a[i]-'0';
s += x*p;
p *= 2;
}
cout<<s<<endl;
}
void shiliuzhuaner(){
int a[10],n,i;
shiliu();
cin>>n;
for(i=0;n>0;i++){
a[i] = n%2;
n = n/2;
}
for(i=i-1;i>=0;i--){
cout<<a[i];
}
}
void erzhuanshiliu(){
string a;
int p = 1;
int s = 0;
er();
cin>>a;
for(int i = a.length()-1;i>=0;i--){
int x = a[i]-'0';
s += x*p;
p *= 2;
}
cout<<s<<endl;
}
int main() {
cout<<"请问您要转换成什么:"<<endl
<<"十转二请输入102"<<endl
<<"二转十请输入210"<<endl
<<"十转八请输入108"<<endl
<<"八转十请输入810"<<endl
<<"二转八请输入28"<<endl
<<"八转二请输入82"<<endl;
int a,b;
cin>>a;
if(a==102){
shizhuaner();
}else if(a==210){
erzhuanshi();
}else if(a==28){
erzhuanba();
}else if(a==82){
bazhuaner();
}else if(a==108){
shi();
scanf("%d",&b);
printf("%o",b);
}else if(a==810){
ba();
scanf("%o",&b);
printf("%d",b);
}else if(a==1610){
shiliu();
scanf("%x",&b);
printf("%d",b);
}else if(a==168){
shiliu();
scanf("%x",&b);
printf("%o",b);
}else if(a==162){
shiliu();
shiliuzhuaner();
}else if(a==1016){
shi();
scanf("%d",&b);
printf("%x",b);
}else if(a==816){
ba();
scanf("%o",&b);
printf("%x",b);
}else if(a==216){
erzhuanshiliu();
}
return 0;
}