Here is a C program to convert binary number to octal number system.

#### Required Knowledge

This program converts a **binary number**( base 2) to **octal number** (base 8).
**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 a binary number as input from user convert it to octal number.

##### For Example

0000011 in Binary is equivalent to 3 in Octal number system.**Algorithm to convert Binary to Octal number**

- Divide the input binary number in set of three binary digits, starting from least significant digit to most significant digit.
- For every group of three digits, write the equivalent octal digit.

For Example:

Let Binary number is 11001100

Divide binary number in group of three from right side: (11)(001)(100)

Replace each group with equivalent octal digit : 314

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

#include <stdio.h> int main() { /*Define an array of octal digits to binary */ int octalDigitToBinary[8] = {0, 1, 10, 11, 100, 101, 110, 111}; long binaryNumber, octalNumber = 0, binaryCopy; int threeDigits, multiple, counter; multiple = 1; /* * Take a binary number as input from user */ printf("Enter a Binary Number\n"); scanf("%ld", &binaryNumber); /* * Convert binary to octal number equivalent */ while(binaryNumber != 0) { threeDigits = binaryNumber % 1000; /*Search through octalDigitToBinary array */ for(counter = 0; counter < 8; counter++) { if(octalDigitToBinary[counter] == threeDigits) { octalNumber = (counter * multiple) + octalNumber; break; } } /* Remove last three digits */ binaryNumber = binaryNumber/1000; multiple *= 10; } printf("Octal Mumber : %ld", octalNumber); return 0; }Output

Enter a Binary Number 11001100 Octal Mumber : 314

Enter a Binary Number 0000011 Octal Mumber : 3

**Related Topics**