Python Program to Convert Octal to Binary

In this article, I've created some programs in Python, to convert octal number entered by user to its equivalent binary value. Here are the list of programs:

Note - Before creating these programs, if you're not aware about steps used for the conversion, then refer to Octal to Binary Formula and Example to get every required things.

Octal to Binary using while Loop

To convert octal to binary number in Python, you have to ask from user to enter any octal number, then convert that number into its binary equivalent. The question is, write a Python program to convert octal number to binary using while loop. Here is its answer:

print("Enter the Octal Number: ")
octnum = int(input())

rev = 0
chk = 0

while octnum!=0:
    rem = octnum%10
    if rem>7:
        chk = 1
    rev = rem + (rev*10)
    octnum = int(octnum/10)

if chk == 0:
    octnum = rev
    binnum = ""

    while octnum!=0:
        rem = octnum%10
        if rem==0:
            binnum = binnum + "000"
        elif rem==1:
            binnum = binnum + "001"
        elif rem==2:
            binnum = binnum + "010"
        elif rem==3:
            binnum = binnum + "011"
        elif rem==4:
            binnum = binnum + "100"
        elif rem==5:
            binnum = binnum + "101"
        elif rem==6:
            binnum = binnum + "110"
        elif rem==7:
            binnum = binnum + "111"
        octnum = int(octnum/10)

    print("\nEquivalent Binary Value = ", binnum)

    print("\nInvalid Input!")

Here is its sample run:

octal to binary python

Now supply the input say 723 as octal number and press ENTER key to convert and print its equivalent binary value as shown in the snapshot given below:

convert octal to binary python

The dry run of above program with user input 723 goes like:

Octal to Binary using int() and bin()

This program uses int() and bin(), predefined methods of Python to do the same job as of previous program creating using complete user-defined code. The int() is used to convert a value passed as its argument to its integer equivalent. Whereas bin() returns binary equivalent of value passed as its argument.

print("Enter Octal Number: ", end="")
onum = input()

bnum = int(onum, 8)
bnum = bin(bnum)

print("\nEquivalent Binary Value =", bnum)

Here is its sample run with user input 324:

python convert octal to binary

Note - To skip first two characters, add [2:] just after bnum while printing. That is, replace the following statement:

print("\nEquivalent Binary Value =", bnum)

with the statement given below:

print("\nEquivalent Binary Value =", bnum[2:])

Now the output looks like, with same user input as of previous sample run:

python convert octal to binary

Note - The end= is used to skip printing of an automatic newline using print()

Octal to Binary using Function

This program uses user-defined function named OctToBin() to convert octal to binary. The function takes a number (octal) as its argument and returns its equivalent binary value using int() and bin():

def OctToBin(o):
    return bin(int(o, 8))

print("Enter Octal Number: ", end="")
onum = input()

bnum = OctToBin(onum)
print("\nEquivalent Binary Value =", bnum[2:])

Octal to Binary using Class

This is the last program of this article, created using a class named CodesCracker. Class is an object-oriented feature of Python.

class CodesCracker:
    def OctToBin(self, o):
        return bin(int(o, 8))

print("Enter Octal Number: ", end="")
onum = input()

obj = CodesCracker()
bnum = obj.OctToBin(onum)
print("\nEquivalent Binary Value =", bnum[2:])

An object obj of class CodesCracker is created to access its member function, OctToBin() using dot (.) operator.

Same Program in Other Languages

Python Online Test

« Previous Program Next Program »

Liked this post? Share it!