#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<string>
using namespace std;
void MainMenu()
{
system("cls");
for(int i=0;i<24;i++) cout<<"=";
printf("\n1. 10->2\n2. 2->10\n3. 16->2\n4. 2->16\n5. 10->16\n6. 16->10\n7. Exit\n");
for(i=0;i<24;i++) cout<<"=";
}
void mission1()
{system("cls");
double x,bb;
int i,aa,n,m,p[100],q[100];
cout<<"输入一个十进制数:";
cin>>x;
aa=(int)x;
if(x-aa==0)
{i=0;
while(aa){
p[i]=(int)(aa%2);
aa=aa/2;
i++;
}
cout<<"转化的二进制数为:";
n=i;
for(i=n-1;i>=0;i--) cout<<p[i];
cout<<endl;
}
else
{bb=x-aa;
i=0;
while(aa)
{p[i]=(int)(aa%2);
aa=aa/2;
i++;
}
n=i;
i=0;
while(bb)
{q[i]=(int)(bb*2);
bb=bb*2-q[i];
i++;
}
m=i;
cout<<"转化的二进制数为:";
for(i=n-1;i>=0;i--) cout<<p[i];
cout<<".";
for(i=0;i<m;i++) cout<<q[i];
cout<<endl;;
}
}
void mission2()
{system("cls");
int i,j,n;
double k,sum=0;
string str;
cout<<"输入一个二进制数:";
cin>>str;
i=0;
while(i<str.size()&&str[i]!='.') i++;
n=i;
//cout<<n<<","<<str.size()<<endl;
if(n==str.size())
{j=1;
for(i=n-1;i>=0;i--)
{ sum+=(str[i]-'0')*j;
j*=2;
}
cout<<"转化的十进制数为:"<<sum<<endl;
}
else if(n<str.size())
{j=1;
for(i=n-1;i>=0;i--)
{sum+=(str[i]-'0')*j;
j*=2;
}
k=1.0/2;
for(i=n+1;i<str.size();i++)
{sum+=(str[i]-'0')*k;
k*=1.0/2;
}
cout<<"转化的十进制数为:"<<sum<<endl;
}
}
void A1(char c)
{if(c=='0') cout<<"0000";
else if(c=='1') cout<<"0001";
else if(c=='2') cout<<"0010";
else if(c=='3') cout<<"0011";
else if(c=='4') cout<<"0100";
else if(c=='5') cout<<"0101";
else if(c=='6') cout<<"0110";
else if(c=='7') cout<<"0111";
else if(c=='8') cout<<"1000";
else if(c=='9') cout<<"1001";
else if(c=='A') cout<<"1010";
else if(c=='B') cout<<"1011";
else if(c=='C') cout<<"1100";
else if(c=='D') cout<<"1101";
else if(c=='E') cout<<"1110";
else if(c=='F') cout<<"1111";
else cout<<"error!";
}
void A(string s)
{int i,m,n;
n=s.length();
i=0;
while(i<n&&s[i]!='.') i++;
m=i;
for(i=0;i<m;i++)
A1(s[i]);
if(m<n)
{cout<<".";
for(i=m+1;i<n;i++)
A1(s[i]);
}
cout<<endl;
}
void mission3()
{system("cls");
string str;
cout<<"输入一个十六进制数:0X";
cin>>str;
cout<<"转化的二进制数为:";
A(str);
}
char B2(string s)
{char ret;
if(s=="0000") ret='0';
else if(s=="0001") ret='1';
else if(s=="0010") ret='2';
else if(s=="0011") ret='3';
else if(s=="0100") ret='4';
else if(s=="0101") ret='5';
else if(s=="0110") ret='6';
else if(s=="0111") ret='7';
else if(s=="1000") ret='8';
else if(s=="1001") ret='9';
else if(s=="1010") ret='A';
else if(s=="1011") ret='B';
else if(s=="1100") ret='C';
else if(s=="1101") ret='D';
else if(s=="1110"