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