You are on page 1of 9

20CE158 Practicals (CE-4 Batch-B4)

Task Ask user to choose one form given number system :Binary, Octal, Decimal,
Hexadecimal.

Ask user to enter a number (number can be float).


Check that number entered for given number system is correct.
If not give the error
If correct then convert entered number in rest of the three number system.
If you can show the conversion then its well and good.

Code #include <iostream>

using namespace std;

double Binary(double numberDec){


int numberStored[20];
int numberStored2[10];
int i=0;
int j=0;
int x;
int numberDec1 = numberDec;
float numberDec2 = numberDec-numberDec1;
for(;numberDec1>=1;i++){
if(numberDec1%2==0){
numberStored[i]=numberDec1%2;
numberDec1 = numberDec1/2;
}
else{
numberStored[i]=numberDec1%2;
numberDec1 = (numberDec1-1)/2;
}
}
cout<<"The binary number is ";
for(i=i-1;i>=0;i--){
cout<<numberStored[i];
}
if(numberDec2!=0.0){
for(i=0;i<=5;i++){
numberDec2=numberDec2*2;
x=numberDec2;
if(x==1){
numberStored2[i]=1;
}
else{
numberStored2[i]=0;
}
j=i;
numberDec2=numberDec2-x;
}
cout<<".";
for(i=0;j>=0;j--){
cout<<numberStored2[i];
i++;
}
}
else{}
return 0;
}
double Octal(double numberDec){
int numberStored[20];
int numberStored2[10];
int i=0;
int j=0;
int x;
int numberDec1 = numberDec;
float numberDec2 = numberDec-numberDec1;
for(;numberDec1>=1;i++){
if(numberDec1%8==0){
numberStored[i]=numberDec1%8;
numberDec1 = numberDec1/8;
}
else if(numberDec1%8==1){
numberStored[i]=numberDec1%8;
numberDec1 = (numberDec1-1)/8;
}
else if(numberDec1%8==2){
numberStored[i]=numberDec1%8;
numberDec1 = (numberDec1-2)/8;
}
else if(numberDec1%8==3){
numberStored[i]=numberDec1%8;
numberDec1 = (numberDec1-3)/8;
}
else if(numberDec1%8==4){
numberStored[i]=numberDec1%8;
numberDec1 = (numberDec1-4)/8;
}
else if(numberDec1%8==5){
numberStored[i]=numberDec1%8;
numberDec1 = (numberDec1-5)/8;
}
else if(numberDec1%8==6){
numberStored[i]=numberDec1%8;
numberDec1 = (numberDec1-1)/8;
}
else if(numberDec1%8==7){
numberStored[i]=numberDec1%8;
numberDec1 = (numberDec1-7)/8;
}
}
cout<<"The Octal number is ";
for(i=i-1;i>=0;i--){
cout<<numberStored[i];
}
if(numberDec2!=0.0){
for(i=0;i<=5;i++){
numberDec2=numberDec2*8;
x=numberDec2;
if(x==1){
numberStored2[i]=1;
}
else if(x==2){
numberStored2[i]=2;
}
else if(x==0){
numberStored2[i]=0;
}
else if(x==3){
numberStored2[i]=3;
}
else if(x==4){
numberStored2[i]=4;
}
else if(x==5){
numberStored2[i]=5;
}
else if(x==6){
numberStored2[i]=6;
}
else if(x==7){
numberStored2[i]=7;
}
j=i;
numberDec2=numberDec2-x;
}
cout<<".";
for(i=0;j>=0;j--){
cout<<numberStored2[i];
i++;
}
}
else{}
return 0;
}
double Hexan(double numberDec){
string numberStored[20];
string numberStored2[10];
int i=0;
int j=0;
int x;
int numberDec1 = numberDec;
float numberDec2 = numberDec-numberDec1;
for(;numberDec1>=1;i++){
if(numberDec1%16==0){
numberStored[i]='0';
numberDec1 = numberDec1/8;
}
else if(numberDec1%16==1){
numberStored[i]='1';
numberDec1 = (numberDec1-1)/16;
}
else if(numberDec1%16==2){
numberStored[i]=numberDec1%16;
numberDec1 = (numberDec1-2)/16;
}
else if(numberDec1%16==3){
numberStored[i]=numberDec1%16;
numberDec1 = (numberDec1-3)/16;
}
else if(numberDec1%16==4){
numberStored[i]=numberDec1%16;
numberDec1 = (numberDec1-4)/16;
}
else if(numberDec1%16==5){
numberStored[i]=numberDec1%16;
numberDec1 = (numberDec1-5)/16;
}
else if(numberDec1%16==6){
numberStored[i]=numberDec1%16;
numberDec1 = (numberDec1-1)/16;
}
else if(numberDec1%16==7){
numberStored[i]=numberDec1%16;
numberDec1 = (numberDec1-7)/16;
}
else if(numberDec1%16==8){
numberStored[i]=numberDec1%16;
numberDec1 = numberDec1/16;
}
else if(numberDec1%16==9){
numberStored[i]=numberDec1%16;
numberDec1 = (numberDec1-1)/16;
}
else if(numberDec1%16==10){
numberStored[i]='A';
numberDec1 = (numberDec1-10)/8;
}
else if(numberDec1%16==11){
numberStored[i]='B';
numberDec1 = (numberDec1-11)/8;
}
else if(numberDec1%16==12){
numberStored[i]='C';
numberDec1 = (numberDec1-12)/16;
}
else if(numberDec1%16==13){
numberStored[i]='D';
numberDec1 = (numberDec1-13)/16;
}
else if(numberDec1%16==14){
numberStored[i]='E';
numberDec1 = (numberDec1-14)/16;
}
else if(numberDec1%16==15){
numberStored[i]='F';
numberDec1 = (numberDec1-15)/16;
}
}
cout<<"The Hexan number is ";
for(i=i-1;i>=0;i--){
cout<<numberStored[i];
}
if(numberDec2!=0.0){
for(i=0;i<=5;i++){
numberDec2=numberDec2*8;
x=numberDec2;
if(x==1){
numberStored2[i]=1;
}
else if(x==2){
numberStored2[i]=2;
}

else if(x==3){
numberStored2[i]=3;
}
else if(x==4){
numberStored2[i]=4;
}
else if(x==5){
numberStored2[i]=5;
}
else if(x==6){
numberStored2[i]=6;
}
else if(x==7){
numberStored2[i]=7;
}
else if(x==8){
numberStored2[i]=8;
}
else if(x==9){
numberStored2[i]=9;
}
else if(x==10){
numberStored2[i]='A';
}
else if(x==11){
numberStored2[i]='B';
}
else if(x==12){
numberStored2[i]='C';
}
else if(x==13){
numberStored2[i]='D';
}
else if(x==14){
numberStored2[i]='E';
}
else if(x==15){
numberStored2[i]='F';
}
j=i;
numberDec2=numberDec2-x;
}
cout<<".";
for(i=0;j>=0;j--){
cout<<numberStored2[i];
i++;
}
}
else{}
return 0;
}
int main()
{
int a;//binary,oct,hexa.....
cout<<"Which number system you want to choose to convert ";
cin>>a;
double numberDec;
cout<<"Enter the in Decimal ";
cin>>numberDec;
if(a==2){
Binary(numberDec);
}
if(a==8){
Octal(numberDec);
}
if(a==16){
Hexan(numberDec);
}
return 0;
}

Output

You might also like