Code:
#include <bits/stdc++.h>
using namespace std;
int count(int n)
{
int j = 0;
while(n != 0)
{
int t = n % 10;
j++;
n = n / 10;
}
return j;
}
int He_2_convert_10(int n)
{
int k = count(n) - 1 , sum = 0;
int i = k;
while(n != 0)
{
int t = n % 10;
sum = sum + t*pow(2,k-i);
i--;
n = n / 10;
}
return sum;
}
void He_2_convert_8(int n)
{
int k = He_2_convert_10(n);
int a[100000] , x = 0;
while(k != 0)
{
int t = k % 8;
a[x++] = t;
k = k / 8;
}
for(int i = x-1 ; i >= 0 ; i--)
cout<<a[i];
}
void He_2_convert_16(int n)
{
int k = He_2_convert_10(n);
int a[100000] , x = 0;
while(k != 0)
{
int t = k % 16;
a[x++] = t;
k = k / 16;
}
char Array[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
for(int i = x-1 ; i >= 0 ; i--)
cout<<Array[a[i]];
}
void He_10_convert_2(int n)
{
if(n > 0)
{
int t = n % 2;
He_10_convert_2(n/2);
cout<<t;
}
}
void He_10_convert_8(int n)
{
if(n > 0)
{
int t = n % 8;
He_10_convert_2(n/8);
cout<<t;
}
}
void He_10_convert_16(int n)
{
int a[100000] , x = 0;
while(n != 0)
{
int t = n % 16;
a[x++] = t;
n = n / 16;
}
char Array[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
for(int i = x-1 ; i >= 0 ; i--)
cout<<Array[a[i]];
}
void He_8_convert_2(int n)
{
int k = count(n) - 1 , sum = 0;
int i = k;
while(n != 0)
{
int t = n % 10;
sum = sum + t*pow(8,k-i);
i--;
n = n / 10;
}
He_10_convert_2(sum);
}
int He_8_convert_10(int n)
{
int k = count(n) - 1 , sum = 0;
int i = k;
while(n != 0)
{
int t = n % 10;
sum = sum + t*pow(8,k-i);
i--;
n = n / 10;
}
return sum;
}
void He_8_convert_16(int n)
{
int k = count(n) - 1 , sum = 0;
int i = k;
while(n != 0)
{
int t = n % 10;
sum = sum + t*pow(8,k-i);
i--;
n = n / 10;
}
He_10_convert_16(sum);
}
int main()
{
cout<<"\t--------MODE--------";
cout<<"\n\t|1:Convert 10 to 2 |";
cout<<"\n\t|2:Convert 10 to 8 |";
cout<<"\n\t|3:Convert 10 to 16|";
cout<<"\n\t|4:Convert 2 to 10 |";
cout<<"\n\t|5:Convert 2 to 8 |";
cout<<"\n\t|6:Convert 2 to 16 |";
cout<<"\n\t|7:Convert 8 to 2 |";
cout<<"\n\t|8:Convert 8 to 10 |";
cout<<"\n\t|9:Convert 8 to 16 |";
cout<<"\n\t|10:Convert 16 to 2|";
cout<<"\n\t|0::Exit |";
cout<<"\n\t|Choose ? |";
cout<<"\n\t ___________________";
cout<<"\n\t >->->-End-<-<-<\n";
int choose;
do
{
cout<<endl;
cout<<"\nChoose:";
cin>>choose;
switch(choose)
{
case 0: break;
case 1:
{
int n;
cout<<"Number:";
cin>>n;
cout<<"Convert 10 to 2"<<endl;
He_10_convert_2(n);
break;
}
case 2:
{
int n;
cout<<"Number:";
cin>>n;
cout<<"Convert 10 to 8"<<endl;
He_10_convert_8(n);
break;
}
case 3:
{
int n;
cout<<"Number:";
cin>>n;
cout<<"Convert 10 to 16"<<endl;
He_10_convert_16(n);
break;
}
case 4:
{
int n;
cout<<"Number:";
cin>>n;
cout<<"Convert 2 to 10"<<endl;
He_2_convert_10(n);
break;
}
case 5:
{
int n;
cout<<"Number:";
cin>>n;
cout<<"Convert 2 to 8"<<endl;
He_2_convert_8(n);
break;
}
case 6:
{
int n;
cout<<"Number:";
cin>>n;
cout<<"Convert 2 to 16"<<endl;
He_2_convert_16(n);
break;
}
case 7:
{
int n;
cout<<"Number:";
cin>>n;
cout<<"Convert 8 to 2"<<endl;
He_8_convert_2(n);
break;
}
case 8:
{
int n;
cout<<"Number:";
cin>>n;
cout<<"Convert 8 to 10"<<endl;
He_8_convert_10(n);
break;
}
case 9:
{
int n;
cout<<"Number:";
cin>>n;
cout<<"Convert 8 to 16"<<endl;
He_8_convert_16(n);
break;
}
}
}
while(choose != 0);
return 0;
}