123 Eng

### Engineering the engineers™

Home
Source Codes
Engineering Colleges

Training  Reports
Seminar Reports
Placement Papers

Forums

Computer Science / IT
Electronics
Electrical
Mechanical
Chemical
Civil

CAT / MBA

GMAT / Foreign MBA
Latest Jobs

Displaying  Source Code(s)

 Program for Binary, Octal, Hexadecimal Conversions -------------------------------------------------------------------------------- #include #include #include void bd(); void db(); void doc(); void dh(); void od(); void ob(); void bo(); void bh(); void hb(); void hd(); void oh(); void ho(); void main() { int n; char c; begin: clrscr(); printf(" ****MAIN MENU****
); printf("1. Binary to Decimal.
); printf("2. Decimal to Binary.
); printf("3. Decimal to Octal.
); printf("5. Octal to Decimal.
); printf("6. Octal to Binary.
); printf("7. Binary to Octal.
); scanf("%d",&n); if(n<1 || n>12) printf("Invalid Choise
); if(n==1) bd(); else if(n==2) db(); else if(n==3) doc(); else if(n==4) { long a; clrscr(); printf("Conversion from Decimal to Hexadecimal
); printf("Enter the decimal number.
); scanf("%ld",&a); dh(a); } else if(n==5) od(); else if(n==6) ob(); else if(n==7) bo(); else if(n==8) bh(); else if(n==9) hb(); else if(n==10) hd(); else if(n==11) { unsigned long n,i=0,a,p=1,t=0; clrscr(); printf("Conversion from Octal to Hexadecimal.
); printf("Enter a Octal number
); scanf("%ld",&n); i=0; while(n!=0) { a=n%10; if(a>7) t=1; n=n/10; i=i+a*p; p=p*8; } if(t==0) { printf("Hexadecimal eq="); oh(i); } else if(t==1) printf("Numbert entered is not octal.
); } else if(n==12) ho(); printf(" Do you Wish to continue(Y/N)
); scanf("%s",&c); c=toupper(c); if(c=='Y') goto begin; getch(); } void bd() { int n,b=0,a[6],i=0,t=0; clrscr(); printf("Conversion from Binary to Decimal
); printf("Enter Binary Number
); scanf("%d",&n); while(n!=0) { a[i]=n%10; n=n/10; if(a[i]!=1 && a[i]!=0) t=1; i++; } a[i]=2; n=1; for(i=0;a[i]!=2;i++) { b=b+a[i]*n; n=n*2; } if(t==0) printf("Decimal Equivalent=%d",b); else if(t==1) printf("Entered number is not binary."); } void db() { int dec,bin,n,i=0,a[10]; clrscr(); printf("Conversion from Decimal to Binary
); printf("Input decimal no."); scanf("%d",&dec); do { a[i]=dec%2; dec=dec/2; i++; }while(dec!=0); for(n=i-1;n>=0;n--) printf("%d",a[n]); } void doc() { int n,i,a[10]; clrscr(); printf("Conversion from Decimal to Octal
); printf("Enter a Decimal number
); scanf("%d",&n); i=0; printf("Octal equavalent of %d is ",n); while(n!=0) { a[i]=n%8; n=n/8; i++; } i--; for(;i>=0;i--) printf("%d",a[i]); } void dh(long n) { long i; if(n>0) { i=n%16; n=n/16; dh(n); if(i>=10) { switch(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; } } else printf("%ld",i); } } void od() { unsigned long n,i=0,a,p=1,t=0; clrscr(); printf("Conversion from Octal to Decimal
); printf("Enter a Octal number
); scanf("%ld",&n); i=0; printf("Decimal equavalent of %ld",n); while(n!=0) { a=n%10; if(a>7) t=1; n=n/10; i=i+a*p; p=p*8; } if(t==0) printf("= %ld",i); else if(t==1) printf(" can't be calculated because it is not an Octal Number.
); } void ob() { int n,a[6],i=0,t=0; clrscr(); printf("Convertion from Octal to Binary.
); printf("Enter an Octal Number.
); scanf("%d",&n); while(n!=0) { a[i]=n%10; n=n/10; if(a[i]>7) t=1; i++; } i--; if(t==0) for(;i>=0;i--) { switch(a[i]) { case 0: printf("000"); break; case 1: printf("001"); break; case 2: printf("010"); break; case 3: printf("011"); break; case 4: printf("100"); break; case 5: printf("101"); break; case 6: printf("110"); break; case 7: printf("111"); break; } } if(t==1) printf("Not a Octal number
); } void bo() { int i=0,a[5],t=0; long int n; clrscr(); printf("Convertion From Binary to Octal
); printf("Enter a Binary number
); scanf("%ld",&n); while(n!=0) { a[i]=n%1000; n=n/1000; if(a[i]>111) t=1; i++; } i--; if(t==0) for(;i>=0;i--) { switch(a[i]) { case 0: printf("0"); break; case 1: printf("1"); break; case 10: printf("2"); break; case 11: printf("3"); break; case 100: printf("4"); break; case 101: printf("5"); break; case 110: printf("6"); break; case 111: printf("7"); break; default: printf(" Entered number is not binary. Printed value is not correct.
); break; } } if(t==1) printf("Number is not Binary
); } void bh() { int i=0,a[5],t=0; long int n; clrscr(); printf("Convertion from Binary to Hexadecimal
); printf("Enter a Binary number
); scanf("%ld",&n); while(n!=0) { a[i]=n%10000; n=n/10000; if(a[i]>1111) t=1; i++; } i--; if(t==0) for(;i>=0;i--) { switch(a[i]) { case 0: printf("0"); break; case 1: printf("1"); break; case 10: printf("2"); break; case 11: printf("3"); break; case 100: printf("4"); break; case 101: printf("5"); break; case 110: printf("6"); break; case 111: printf("7"); break; case 1000: printf("8"); break; case 1001: printf("9"); break; case 1010: printf("A"); break; case 1011: printf("B"); break; case 1100: printf("C"); break; case 1101: printf("D"); break; case 1110: printf("E"); break; case 1111: printf("F"); break; default: printf(" Entered number is not binary. Printed value is not correct.
); break; } } if(t==1) printf("Number is not Binary
); } void hb() { int i; char s[20]; clrscr(); printf("Convertion from Hexadecimal to Binary
); scanf("%s",s); //gets(s); printf("Binary Equivalent="); for(i=0;s[i]!=NULL;i++) { switch(s[i]) { case '0': printf("0000"); break; case '1': printf("0001"); break; case '2': printf("0010"); break; case '3': printf("0011"); break; case '4': printf("0100"); break; case '5': printf("0101"); break; case '6': printf("0110"); break; case '7': printf("0111"); break; case '8': printf("1000"); break; case '9': printf("1001"); break; case 'a': case 'A': printf("1010"); break; case 'b': case 'B': printf("1011"); break; case 'c': case 'C': printf("1100"); break; case 'd': case 'D': printf("1101"); break; case 'e': case 'E': printf("1110"); break; case 'f': case 'F': printf("1111"); break; default: printf(" Entered number is not Hexadecimal. Printed value is not correct.
); break; } } } void hd() { int i,a[20]; unsigned long int h=0,m=1; char s[20]; clrscr(); printf("Convertion from Hexadecimal to Decimal
); scanf("%s",s); printf("Decimal Equivalent="); for(i=0;s[i]!=NULL;i++) { switch(s[i]) { case '0': a[i]=0; break; case '1': a[i]=1; break; case '2': a[i]=2; break; case '3': a[i]=3; break; case '4': a[i]=4; break; case '5': a[i]=5; break; case '6': a[i]=6; break; case '7': a[i]=7; break; case '8': a[i]=8; break; case '9': a[i]=9; break; case 'a': case 'A': a[i]=10; break; case 'b': case 'B': a[i]=11; break; case 'c': case 'C': a[i]=12; break; case 'd': case 'D': a[i]=13; break; case 'e': case 'E': a[i]=14; break; case 'f': case 'F': a[i]=15; break; default: printf(" Entered number is not Hexadecimal. Printed value is not correct.
); break; } } i--; for(;i>=0;i--) { h=h+a[i]*m; m=m*16; } printf("%ld ",h); } void oh(long n) { long i; if(n>0) { i=n%16; n=n/16; oh(n); if(i>=10) { switch(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; } } else printf("%ld",i); } } void ho() { int i,a[20]; unsigned long int h=0,m=1; char s[20]; clrscr(); printf("Convertion from Hexadecimal to Octal