C Program to Convert Binary Numbers to Octal Numbers

  • Write a C program to convert a binary number to octal number

Binary number system is a base 2 number system using digits 0 and 1 whereas octal number system is base 8 and uses digits from 0 to 7. Given a binary number as input from user we have to print the octal equivalent of input number.

For Example
1111101 in Binary is equivalent to 175 in Octal number system.

Conversion of Binary to Octal number includes two steps. First of all, we have to convert binary number to decimal number then finally decimal number to octal number.
C program to convert binary to decimal numbers
C program to convert decimal to octal numbers

C program to convert binary number to octal number

/* 
* C program to convert binary numbers to octal numbers
*/

#include <stdio.h>
#include <conio.h>
#include <math.h>

long binaryToOctal(long n);
int main() {
    long binary;
    printf("Enter a binary number\n");
    scanf("%ld", &binary);
    printf("Octal number of %ld(binary) is %ld", binary, binaryToOctal(binary));
    
 getch();
    return 0;
}

/* Function to convert a binary number to octal number */
long binaryToOctal(long n) {
 /* First convert Binary to decimal number */
    int remainder; 
    long decimal = 0, octal = 0, i = 0;
 
    while(n != 0) {
        remainder = n%10;
        n = n/10;
        decimal = decimal + (remainder*pow(2,i));
        ++i;
    }
    
    /*Now convert decimal to octal number */
    i = 1;
    
    while(decimal != 0) {
        remainder = decimal%8;
        decimal = decimal/8;
        octal = octal + (remainder*i);
        i = i*10;
    }
    
    return octal;
}
Program Output
Enter a binary number
110111
Octal number of 110111(binary) is 67

Related Topics
C program to convert a binary number to octal number system
C program to convert octal number to binary number system
C program to convert a octal number to decimal number system
C program to convert octal number to hexadecimal number system
C program to multiply two numbers without using arithmetic operators
C program to convert temperature from celsius to fahrenheit
C program to convert binary number to decimal number system
C program to convert number of days to week, months and years
C program to make a simple calculator using switch statement
List of all C programs