C++ Program to convert octal to binary

Program

#include<math.h>
#include<iostream>
using namespace std;
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;
    cout << "Enter an octal number:";
    cin >> octal;
    cout << "Binary equivalent is:" << octal_binary(octal);
    return 0;
}

Output

$ g++ convert-octal-to-binary.cpp
$ ./a.out
Enter an octal number:90
Binary equivalent is:1001000