This post helps the conversion of the binary number and octal and vice-versa using the C programming language.
C Program to Convert Binary Number to Octal and vice-versa
#include<stdio.h> #include<math.h> int convert(long long bin); int main() { long long bin; printf("Enter a binary number: "); scanf("%lld", &bin); printf("%lld in binary = %d in octal", bin, convert(bin)); return 0; } int convert(long long bin) { int octal=0,deci=0,i=0; //converting binary to decimal while (bin != 0) { deci += (bin % 10)*pow(2, i); ++i; bin /= 10; } //converting to decimal to octal i = 1; while(deci != 0) { octal+=(deci % 8) * i; deci /= 8; i *= 10; } return octal; }
Output
Explanation
We start the program by initializing the function and then use the main function to get the value of variable long long bin(%lld). The value revised from the user is for the conversion of the binary number to octal and vice versa.
int convert(long long bin); int main() { long long bin; printf("Enter a binary number: "); scanf("%lld", &bin); printf("%lld in binary = %d in octal", bin, convert(bin)); return 0; }
Now we call the function to do the conversion, the value entered by the user first gets converted from binary to decimal.
int convert(long long bin) { int octal=0,deci=0,i=0; //converting binary to decimal while (bin != 0) { deci += (bin % 10)*pow(2, i); ++i; bin /= 10; }
After the value is converted as decimal, it now gets converted from decimal to octal, to complete the process of conversion of binary numbers to octal.
//converting to decimal to octal i = 1; while(deci != 0) { octal+=(deci % 8) * i; deci /= 8; i *= 10; } return octal; }
Now we get the converted desired output.
Leave a Reply