C program to convert octal number to binary number system. **Binary number system** is a base 2 number system using digits 0 and 1 whereas **Octal number system** is base 8 and using digits from 0 to 7. Given an octal number as input from user convert it to binary number.

For Example:

1203 in Octal is equivalent to 1010000011 in Binary number system.

### Required Knowledge

**Algorithm to convert Octal to Binary number**

- Create a mapping between octal digits and binary sequence {(0 => 000), (1 => 001), (2 => 010), (3 => 011), (4 => 100), (5 => 101), (6 => 110), (7 => 111)}
- Now, replace each octal digit with it's corresponding binary sequence as mentioned above.

For Example:

Octal number : 1203

replace 1 by (001), 2 by (010), 0 by (000) and 3 by (011)

Decimal number = 001010000011 = 1010000011

## C program to convert a octal number to binary number

#include <stdio.h> int main() { int octalDigitToBinary[8] = {0, 1, 10, 11, 100, 101, 110, 111}; long long octalNumber, binaryNumber = 0, position; int digit; /* Take an Octal Number as input from user */ printf("Enter an Octal Number\n"); scanf("%ld", &octalNumber); position = 1; /* Convert Octal Number to Binary Number */ while(octalNumber != 0) { digit = octalNumber % 10; binaryNumber = (octalDigitToBinary[digit] * position) + binaryNumber; octalNumber /= 10; position *= 1000; } printf("Binary Number = %ld", binaryNumber); return 0; }Output

Enter an Octal Number 1203 Binary Number = 1010000011

Enter an Octal Number 1111 Binary Number = 1001001001

**Related Topics**