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