C program to Convert Octal to Binary

Write a C program to convert octal to binary using a while loop. In this c example, the first while loop converts octal to decimal, and the second while loop converts a decimal to binary. 

#include <stdio.h>
#include <math.h>

int main()
{
    int i, octal, decimal = 0;
    long binary = 0;
    i = 0;
    
    printf("Enter the Octal Number = ");
    scanf("%d",&octal);

    while(octal != 0)
    {
        decimal = decimal + (octal % 10) * pow(8, i);
        i++;
        octal = octal / 10;
    }
    i = 1;
    while(decimal != 0)
    {
        binary += ((decimal % 2) * i);
        decimal = decimal / 2;
        i = i * 10;
    }

    printf("The Binay Value = %ld\n", binary); 
}
C program to Convert Octal to Binary

In this c program, the octalToBinary function accepts the octal number and converts it to binary number using the for loop.

#include <stdio.h>
#include <math.h>

long octalToBinary(int octal)
{
    int i, decimal = 0;
    long binary = 0;
    for (i = 0; octal != 0; i++)
    {
        decimal = decimal + (octal % 10) * pow(8, i);
        octal = octal / 10;
    }

    for (i = 1; decimal != 0; i = i * 10)
    {
        binary = binary + (decimal % 2) * i;
        decimal = decimal / 2;
    }
    return binary;
}

int main()
{
    int octal;

    printf("Enter the Octal Number = ");
    scanf("%d", &octal);

    printf("The Decimal Value = %ld\n", octalToBinary(octal));
}
Enter the Octal Number = 98
The Decimal Value = 1010000


Enter the Octal Number = 243
The Decimal Value = 10100011