//BINARY DECIMAL AND HEXADECIMAL OPERATIONS #include #include int bintodec(int); int dectobin(int); void bintohex(int); void main() { int opt,bin,dec,hex; clrscr(); do { printf("1.Binary to Decimal\n2.Decimal to Binary\n"); printf("3.Binary to Hexadecimal\n4.Exit\n"); printf("Enter any option\n"); scanf("%d",&opt); switch(opt) { case 1: { //BINARY TO DECIMAL printf("Enter the binary number\n"); scanf("%d",&bin); dec=bintodec(bin); printf("Decimal Equvalent no is: %d",dec); getch(); break; } case 2: { //DECIMAL TO BINARY printf("Enter the decimal number\n"); scanf("%d",&dec); bin=dectobin(dec); printf("Binary Equvalent no is: %d",bin); getch(); break; } case 3: { //BINARY TO HEXADECIMAL printf("Enter the binary number\n"); scanf("%d",&bin); bintohex(bin); break; } case 4: { exit(); break; } default: { printf("Invalid Entry!\n"); getch(); } } clrscr(); }while(opt!=4); } int bintodec(int bin) { int i,dec=0,num; for(i=0;bin!=0;i++) { num=bin%10; dec+=num*pow(2,i); bin=bin/10; } return(dec); } int dectobin(int dec) { int bin=0; while(dec!=0) { bin=bin*10; bin+=dec%2; dec=dec/2; } return(bin); } void bintohex(bin) { int i,j,dec,hex,num[20]; //BINARY TO DECIMAL dec=bintodec(bin); //DECIMAL TO HEXADECIMAL for(i=0;dec!=0;i++) { if(dec>=0&&dec<=15) { num[i]=dec; dec=0; } else { num[i]=dec%16; dec=dec/16; } } printf("Hexadecimal Equvalent no: "); for(j=i-1;j>=0;j--) { if(num[j]>=10&&num[j]<=15) { switch(num[j]) { case 10: printf("A"); case 11: printf("B"); case 12: printf("C"); case 13: printf("D"); case 14: printf("E"); case 15: printf("F"); } } else printf("%d",num[j]); } getch(); return; } /*SAMPLE OUTPUT 1.Binary to Decimal 2.Decimal to Binary 3.Binary to Hexadecimal 4.Exit Enter any option 1 Enter the binary number 1001 Decimal Equvalent no is: 9 _________________________ 1.Binary to Decimal 2.Decimal to Binary 3.Binary to Hexadecimal 4.Exit Enter any option 2 Enter the decimal number 15 Binary Equvalent no is: 1111 _________________________ 1.Binary to Decimal 2.Decimal to Binary 3.Binary to Hexadecimal 4.Exit Enter any option 3 Enter the binary number 1011 Hexadecimal Equvalent no: BCDEF */