C program to convert Octal to Binary number system

Previous Program Next Program

Write a C program to read Octal number from user and convert to Binary number system. How to convert from Octal number system to Binary number system in C. Logic to convert octal to binary number system in C program.

Example

Input

Input octal number: 172

Output

Binary of 172: 01111010

Required knowledge

Basic C programming, For loop

Additional programming knowledge required for this program.

Octal number system

Octal number system is a base 8 number system. It uses 8 symbols to represent all its numbers i.e. 01234567

Binary number system

Binary number system is a base 2 number system. It uses only two symbols i.e. 0 and 1 to represent all numbers.

Algorithm to convert octal to binary

Like binary to octal conversion, I have divided the octal to binary conversion in three steps:

  1. Extract last digit from octal number.
  2. Find binary equivalent of octal digit found above.
  3. Combine all converted binary together.

Octal to Binary conversion
Octal to Binary conversion table
Decimal Octal Binary
0 0 000
1 1 001
2 2 010
3 3 011
4 4 100
5 5 101
6 6 110
7 7 111

Algorithm Conversion from Octal to Binary
begin:
    read(octal);
    OCTALVALUES[] ← 0, 1, 10, 11, 100, 101, 110, 111;
    binary ← 0; rem ← 0; place ← 1;
    While(octal > 0)
        begin:
            remoctal % 10;
            binary ← (OCTALVALUES[rem] * place) + binary;
            octaloctal / 10;
            placeplace * 1000;
        end;
    write('Binary =' binary);
end;

Program to convert octal to binary

/**
 * C program to convert Octal number system to Binary number system
 */

#include <stdio.h>

int main()
{
    int OCTALVALUES[] = {0, 1, 10, 11, 100, 101, 110, 111};
    long long octal, tempOctal, binary, place;
    int rem;
    
    /*
     * Input Octal number from user
     */
    printf("Enter any Octal number: ");
    scanf("%lld", &octal);
    tempOctal = octal;

    binary = 0;
    place  = 1;
    
    /* 
     * Convert octal to binary
     */
    while(tempOctal > 0)
    {
        // Extract the last digit of octal
        rem = tempOctal % 10;

        /*
         * Get the binary equivalent of octal digit
         * add it to the binary variable
         */
        binary = (OCTALVALUES[rem] * place) + binary;

        // Remove the last octal digit
        tempOctal /= 10;

        // Increase the place value
        place *= 1000;
    }

    printf("Octal number = %lld\n", octal);
    printf("Binary number = %lld", binary);

    return 0;
} 
Output
Enter any Octal number: 1720
Octal number = 1720
Binary number = 1111010000

Happy coding ;)

Recommended posts

Previous Program Next Program
Any doubt or suggestion write here. I will try my best to help. Before posting your code you must escape it to view. To format your source code and use format highlighting, post your source code inside
< pre>< code >----Your Source Code---- < / code > < / pre > (Remove spaces from pre and code tags)

2 comments:

  1. If you're actually searching for none risk plan to make money online I can show you the software which is extremely safer and how anyone can start profiting with Trend Trader. Check by visiting their Trend Trader Official Website

    ReplyDelete
  2. First time, I used Binary matrix pro and got loss, loss and loss. I entry 73 trades by using “binary matrix pro” and the result “ 66 is trade loss on the other hand, only 5 trades profitable . One of my friend recommend me to use “Trend Trader” Than I invest using “Trend Trader”. Totally 150 trades have profited and my success rate is 95%. I told this matter of my 3 friends when I got my success. They are also profiting. That’s why, I can tell that Trend Trader is the best Binary Signal Software.
    if you interested you can visit this link to know more details about Trend Trader SystemTrend Trader Official Website

    ReplyDelete