Add to Favorites    Make Home Page 4676 Online  
 Language Categories  
 Our Services  

Home » C Home » Beginners / Lab Assignments Home » Program for Binary, Octal, Hexadecimal Conversions.

A D V E R T I S E M E N T

Search Projects & Source Codes:

Title Program for Binary, Octal, Hexadecimal Conversions.
Author Charuk Mahajan
Author Email charuk1983 [at] india.com
Description
Category C » Beginners / Lab Assignments
Hits 366136
Code Select and Copy the Code
#include<stdio.h> #include<conio.h> #include<string.h> 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("Enter your choise.(1-12) "); printf("1. Binary to Decimal. "); printf("2. Decimal to Binary. "); printf("3. Decimal to Octal. "); printf("4. Decimal to Hexadecimal. "); printf("5. Octal to Decimal. "); printf("6. Octal to Binary. "); printf("7. Binary to Octal. "); printf("8. Binary to Hexadecimal. "); printf("9. Hexadecimal to Binary. "); printf("10. Hexadecimal to Decimal. "); printf("11. Octal to Hexadecimal. "); printf("12. Hexadecimal 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 "); printf("Enter a Hexadecimal number "); 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 "); printf("Enter a Hexadecimal number "); 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 "); printf("Enter a Hexadecimal number "); scanf("%s",s); // Converting hex to dec first 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; } // Now convering from decimal to octal (h) i=0; printf("Octal equavalent="); while(h!=0) { a[i]=h%8; h=h/8; i++; } i--; for(;i>=0;i--) printf("%d",a[i]); }

Related Source Codes

Script Name Author
The Game Opposite as seen on Nokia 2300 Mobile Manikanta
RECURSIVE BALANCED QUICK SORT ashish
Radix Sort ashish
Change your mouse pointer Ashim
The blinking star Shashank
Data Validation Crylittlebaby
To search a file by giving file type like mp3 or mpeg or doc Prashanth SR
Menus Demonstration B.Chidhambaram
Employee Database Project Using C. Reenku Raman Nayak
Creating a Lexical Analyzer in c fahad bader al-buhairi ¦Õ¤ ?¤Ð Ãß??ÝÐÝ
Calendar Program Omkar & Devendra
Stop double Process for start in C Cedrik Jurak
Stop double Process for start in C Cedrik Jurak
Time Scheduler Atiq Anwar
A timepass game between atmost two players Rahul Roy

A D V E R T I S E M E N T




Google Groups Subscribe to SourceCodesWorld - Techies Talk
Email:

Free eBook - Interview Questions: Get over 1,000 Interview Questions in an eBook for free when you join JobsAssist. Just click on the button below to join JobsAssist and you will immediately receive the Free eBook with thousands of Interview Questions in an ebook when you join.

New! Click here to Add your Code!


ASP Home | C Home | C++ Home | COBOL Home | Java Home | Pascal Home
Source Codes Home Page

 Advertisements  

Google Search

Google

Source Codes World.com is a part of Vyom Network.

Vyom Network : Web Hosting | Dedicated Server | Free SMS, GRE, GMAT, MBA | Online Exams | Freshers Jobs | Software Downloads | Interview Questions | Jobs, Discussions | Placement Papers | Free eBooks | Free eBooks | Free Business Info | Interview Questions | Free Tutorials | Arabic, French, German | IAS Preparation | Jokes, Songs, Fun | Free Classifieds | Free Recipes | Free Downloads | Bangalore Info | Tech Solutions | Project Outsourcing, Web Hosting | GATE Preparation | MBA Preparation | SAP Info | Software Testing | Google Logo Maker | Freshers Jobs

Sitemap | Privacy Policy | Terms and Conditions | Important Websites
Copyright ©2003-2024 SourceCodesWorld.com, All Rights Reserved.
Page URL: http://www.sourcecodesworld.com/source/show.asp?ScriptID=443


Download Yahoo Messenger | Placement Papers | Free SMS | C Interview Questions | C++ Interview Questions | Quick2Host Review