# C Program to Convert Binary to Octal

This C program converts a binary number to its octal equivalent.

## Problem statement

The program takes a binary number as input and converts it into an octal number.

## C Program to Convert Binary to Octal

```#include <stdio.h>

int binaryToOctal(int binary) {
int octal = 0, decimal = 0, base = 1;

// Convert binary to decimal
while (binary != 0) {
int remainder = binary % 10;
decimal += remainder * base;
binary /= 10;
base *= 2;
}

base = 1;

// Convert decimal to octal
while (decimal != 0) {
int remainder = decimal % 8;
octal += remainder * base;
decimal /= 8;
base *= 10;
}

return octal;
}

int main() {
int binary;

printf("Enter a binary number: ");
scanf("%d", &binary);

int octal = binaryToOctal(binary);

printf("Octal equivalent: %d\n", octal);

return 0;
}
```

## How it works

1. The program defines a function `binaryToOctal()` to convert binary to octal.
2. The function takes the binary number as an argument and performs the conversion using the following steps:
• First, it converts the binary number to its decimal equivalent by multiplying each digit with appropriate powers of 2.
• Then, it converts the decimal number to octal by dividing it with 8 and building the octal number digit by digit.
3. In the `main()` function, the user is prompted to enter a binary number.
4. The entered binary number is passed to the `binaryToOctal()` function.
5. The octal equivalent of the binary number is returned from the function and stored in the `octal` variable.
6. Finally, the octal equivalent is printed on the console.