Octal to Binary Conversion in C
Method I:Can Accept more number of digits for conversion
Method II:Limited number of digits Maximum only 4
//Coming Soon...
Output:
Method I:Can Accept more number of digits for conversion
#include<stdio.h> #include<string.h> #include<stdlib.h> main() { char *octalNum[]={"000","001","010","011","100","101","110","111"}; int i=0,number,j=1; long long int octal,temp; char binary[20][6]; printf("Enter Octal number\n"); scanf("%lld",&octal); temp=octal; while(temp!=0) { number=temp%10; if(number>=0 && number<=7) { strcpy(binary[i],octalNum[number]); temp/=10; i++; } else { printf("Invalid Octal Number\n"); exit(0); } } printf("Binary number for given Octal number %lld is\n",octal); for(j=i-1;j>=0;j--) printf("%s",binary[j]); printf("\n"); }
Method II:Limited number of digits Maximum only 4
#include<stdio.h> #include<math.h> int ConvertFromDecimalToOther(int,int); int ConvertFromOctaltoDecimal(int); int main() { int binary,decimal,octal; printf("Enter Octal Number\n"); scanf("%d",&octal); decimal=ConvertFromOctaltoDecimal(octal); binary=ConvertFromDecimalToOther(decimal,2); printf("Binary Number for given Octal Number %d is %d\n",octal,binary); return(0); } int ConvertFromDecimalToOther(int decimal,int num) { int temp,final=0,i,j=1; temp=decimal; while(temp!=0) { i=temp%num; final=final+(i*j); temp=temp/num; j=j*10; } return(final); } int ConvertFromOctaltoDecimal(int octal) { int dec=0,temp,i,inc=0; temp=octal; while(temp!=0) { i=temp%10; dec=dec+(i*pow(8,inc)); temp=temp/10; inc++; } return(dec); }Explanation:
Output:
Method I |
Method I |
Method II |