C program to convert an binary number to octal

Problem Description

This program takes a binary number as input and converts it to octal. Octal numbers have the base as 8. 

C program to convert an binary number to octal - Source code
  /* C Program to Convert Binary to Octal */

 #include <stdio.h>

int main()
    long int binary_num, octal_num = 0, j = 1, rem;

    printf("Enter the binary number: ");
    scanf("%ld", &binary_num);
    while (binary_num != 0)
        rem = binary_num % 10;
         binary_num = binary_num / 10;
        octal_num = octal_num + rem * j;
        j = j * 2;

    printf("Equivalent octal value: %lo", octal_num);
    return 0;

Program Output

Enter the binary number: 10101101
Equivalent octal value: 255

Program Explanation

1. Take a binary number as input and store it in the variable binary_num.

2. Obtain the remainder and quotient of the input number by dividing it by 10.

3. Multiply the obtained remainder with variable j and increment the variable octal_num with this value.

4. Increment the variable j by multiplying it with 2 and override the variable binary_num with the quotient obtained.

5. Repeat the steps 2-4 until the variable binary_num becomes zero.

6. Print the variable octal_num as output.