Program 1
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
// Declaration of function
void dtobin();
void design();
void dtooct();
void dtohexa();
void bintodec();
void bintooct();
void bintohexa();
void octtodec();
void octtobin();
void octtohex();
//Defination of main
int main()
{
system("cls");
design();
}
//Defination of design
void design()
{
int choice;
do
{
printf("\n-----------Number System Coversion--------");
printf("\n1. Decimal to Binary");
printf("\n2. Decimal to Octal");
printf("\n3. Decimal to Hexadecimal");
printf("\n4. Binary to Decimal ");
printf("\n5. Binary to Octal ");
printf("\n6. Binary to Hexadecimal");
printf("\n7. Octal to Decimal");
printf("\n8. Octal to Binary");
printf("\n9. Octal to Hexadecimal");
printf("\n10. Exit");
printf("\n--------------------------------------------");
printf("\n Enter your choice");
scanf("%d",&choice);
switch(choice)
{
case 1:dtobin();break;
case 2:dtooct();break;
case 3:dtohexa();break;
case 4:bintodec();break;
case 5:bintooct();break;
case 6:bintohexa();break;
case 7:octtodec();break;
case 8:octtobin();break;
case 9:octtohex();break;
case 10:break;
default:printf("Invalid choice .. enter again");
}
}while(choice!=10);
}
//Defination of octal to decimal
void octtodec()
{
int n,dn=0,r,base=1,temp,r1,f=0;
printf("\n Enter a Octal number (only digit 0 to 7) : ");
scanf("%d",&n);
temp=n;
while(temp!=0)
{
r1=temp%10;
if(r1<0 || r1>7)
{
printf("Invalid octal number");
f=1;
break;
}
temp=temp/10;
}
if(f==0)
{
while(n!=0)
{
r=n%10;
dn=dn+r*base;
base=base*8;
n=n/10;
}
printf("\nDecimal No is: %d",dn);
}
}
//Defination of octal to binary
void octtobin()
{
int n,dn=0,r,base=1,temp,r1,f=0;
printf("\n Enter a Octal number (only digit 0 to 7) : ");
scanf("%d",&n);
temp=n;
while(temp!=0)
{
r1=temp%10;
if(r1<0 || r1>7)
{
printf("Invalid octal number");
f=1;
break;
}
temp=temp/10;
}
if(f==0)
{
while(n!=0)
{
r=n%10;
dn=dn+r*base;
base=base*8;
n=n/10;
}
//printf("\nDecimal No is: %d",dn);
n=dn;
int ar[50],i=0;
while(n!=0)
{
r=n%2;
ar[i]=r;
i++;
n=n/2;
}
i--;
printf("\n Binary no is: ");
while(i>=0)
{
printf("%d",ar[i]);
i--;
}
}
}
//Defination of octal to hexadecimal
void octtohex()
{
int n,dn=0,r,base=1,temp,r1,f=0;
printf("\n Enter a Octal number (only digit 0 to 7) : ");
scanf("%d",&n);
temp=n;
while(temp!=0)
{
r1=temp%10;
if(r1<0 || r1>7)
{
printf("Invalid octal number");
f=1;
break;
}
temp=temp/10;
}
if(f==0)
{
while(n!=0)
{
r=n%10;
dn=dn+r*base;
base=base*8;
n=n/10;
}
n=dn;
int ar[50],i=0,r;
while(n!=0)
{
r=n%16;
ar[i]=r;
i++;
n=n/16;
}
i--;
printf("\n HexaDecimal no is: ");
while(i>=0)
{
switch(ar[i])
{
case 10:printf("A");break;
case 11:printf("B"); break;
case 12:printf("C");break;
case 13:printf("D");break;
case 14:printf("E");break;
case 15:printf("F");break;
default:printf("%d",ar[i]);
}
i--;
}
}
}
//Defination of decimal to binary
void dtobin()
{
int n,ar[50],i=0,r;
printf("\n Enter a decimal no:");
scanf("%d",&n);
while(n!=0)
{
r=n%2;
ar[i]=r;
i++;
n=n/2;
}
i--;
printf("\n Binary no is: ");
while(i>=0)
{
printf("%d",ar[i]);
i--;
}
}
//Defination of decimal to octal
void dtooct()
{
int n,ar[50],i=0,r;
printf("\n Enter a decimal no:");
scanf("%d",&n);
while(n!=0)
{
r=n%8;
ar[i]=r;
i++;
n=n/8;
}
i--;
printf("\n Octal no is: ");
while(i>=0)
{
printf("%d",ar[i]);
i--;
}
}
//Defination of decimal to hexadecimal
void dtohexa()
{
int n,ar[50],i=0,r;
printf("\n Enter a decimal no:");
scanf("%d",&n);
while(n!=0)
{
r=n%16;
ar[i]=r;
i++;
n=n/16;
}
i--;
printf("\n HexaDecimal no is: ");
while(i>=0)
{
switch(ar[i])
{
case 10:printf("A");break;
case 11:printf("B"); break;
case 12:printf("C");break;
case 13:printf("D");break;
case 14:printf("E");break;
case 15:printf("F");break;
default:printf("%d",ar[i]);
}
i--;
}
}
//Defination of binary decimal
void bintodec()
{
int n,dn=0,r,base=1;
printf("\n Enter a binary number (only 0 and 1) : ");
scanf("%d",&n);
while(n!=0)
{
r=n%10;
dn=dn+r*base;
base=base*2;
n=n/10;
}
printf("\nDecima No is: %d",dn);
}
//Defination of binary octal
void bintooct()
{
int n,dn=0,r,base=1,ar[50],i=0;
printf("\n Enter a binary number (only 0 and 1) : ");
scanf("%d",&n);
// Coversion of binary to decimal
while(n!=0)
{
r=n%10;
dn=dn+r*base;
base=base*2;
n=n/10;
}
// Coversion of decimal to octal
while(dn!=0)
{
r=dn%8;
ar[i]=r;
i++;
dn=dn/8;
}
i--;
printf("\n Octal No is :");
while(i>=0)
{
printf("%d",ar[i]);
i--;
}
}
//Defination of binary hexadecimal
void bintohexa()
{
int n,dn=0,r,base=1,ar[50],i=0;
printf("\n Enter a binary number (only 0 and 1) : ");
scanf("%d",&n);
// Coversion of binary to decimal
while(n!=0)
{
r=n%10;
dn=dn+r*base;
base=base*2;
n=n/10;
}
// Coversion of decimal to Hexadecimal
while(dn!=0)
{
r=dn%16;
ar[i]=r;
dn=dn/16;
i++;
}
i--;
printf("\n Hexa decimal no is: ");
while(i>=0)
{
switch(ar[i])
{
case 10:printf("A");break;
case 11:printf("B");break;
case 12:printf("C");break;
case 13:printf("D");break;
case 14:printf("E");break;
case 15:printf("F");break;
default:printf("%d",ar[i]);
}
i--;
}
}