C Program to convert octal to binary number

Program

#include<math.h>
#include<stdio.h>
long long octal_binary(int octal) {
    int decimal = 0, i = 0;
    long long binary = 0;
    // convert octal to decimal
    while (octal != 0) {
        decimal += (octal % 10) * pow(8, i);
        ++i;
        octal /= 10;
    }
    i = 1;
   // convert decimal to binary
    while (decimal != 0) {
        binary += (decimal % 2) * i;
        decimal /= 2;
        i *= 10;
    }
    return binary;
}
int main() {
    int octal;
    printf("Enter an octal number: ");
    scanf("%d", &octal);
    printf("Binary equivalent is:\t%lld\n", octal_binary(octal));
    return 0;
}

Output

$ gcc convert-octal-to-binary.c -lm
$ ./a.out
Enter an octal number: 67
Binary equivalent is:   110111