In this post, we will learn how to convert decimal to octal in Python with detailed explanation and example. But before we jump into it, let’s start with the basics.
Decimal numbers are a number system that consists of 10 digits from 0 to 9. Using these numbers, we can form all other numbers, and basically, we use decimal numbers in our daily lives. On the other hand, octal numbers are a number system that consists of 8 digits from 0 to 7. Using these numbers, we can represent all other numbers, and they are commonly used in computer science.
Now let’s understand how we can convert a decimal number into an octal number.
Convert Decimal to Octal Number
Suppose you want to convert 100 to an octal number. The process involves dividing 100 by 8 and storing its remainder (100 % 8). Then, take the quotient (12) and divide it by 8, storing the remainder again. Repeat this process until you reach zero. After that, reverse the stored remainders to obtain the octal conversion of the decimal number.
For a better understanding please refer to the figure below.
Algorithm
- Take input from the user (
num
). - Create an empty list to store octal numbers (
octal_num = []
). while num != 0
dorem = num %8
octal_num.append(rem)
num = num // 8- Reverse a list (
octal_num
) using slicing ([::-1]
). - At the end print the list (
octal_num
).
From the above algorithm and explanation, I hope you understand how to implement a Python program to convert decimal to octal numbers but before writing the program few programming concepts you have to know:
Source Code
num = int(input("Enter a number: "))
# empty list to store octal numbers
octal_num = []
while num != 0:
rem = num % 8
octal_num.append(rem)
num = num // 8
# reverse a list
octal_num = octal_num[::-1]
print("Octal of given number is ",end='')
for i in octal_num:
print(i,end="")
Output-1
Enter a number: 100
Octal of given number is 144
Output-2
Enter a number: 10
Octal of given number is 12
Convert Decimal to Octal in Python Using Built-in function
There is also a built-in function called oct()
in Python to convert decimal to octal. Let’s see how with the help of example.
Source Code
num = int(input("Enter a number: "))
octal = oct(num)
print(f"Octal of {num} is {octal}")
Output
Enter a number: 100
Octal of 100 is 0o144
Here, first two character 0o
represents that the given expression is in octal, and the remaining characters is an actual octal representation (144
) of the given number.
This is all about how we convert decimals to octal numbers in Python. The overall conclusion is that there are two ways to convert decimal to octal: one is the conventional method, and the other involves using the built-in function in Python.