Decimal to Octal Conversion in Python

Decimal to Octal Conversion

Decimal to Octal conversion is the process of converting a decimal number (base-10) into its equivalent octal number (base-8). Each octal digit represents a power of 8.

For example, the decimal number 31 is equal to octal 37 because:

(3 × 8¹) + (7 × 8⁰) = 24 + 7 = 31

We will explore three methods to convert a decimal number to an octal number using Python programming.

Method 1: Using Division by 8

We divide the decimal number by 8 repeatedly, storing the remainders. These remainders represent the digits of the octal number from least significant to most significant.

def decimal_to_octal(decimal):
    octal = []
    
    while decimal > 0:
        octal.append(str(decimal % 8))
        decimal = decimal // 8
    
    octal.reverse()  # Reverse to get the correct order
    print("Octal equivalent:", ''.join(octal))

decimal = int(input("Enter a decimal number: "))
decimal_to_octal(decimal)
            

Output:

Enter a decimal number: 31
Octal equivalent: 37

Method 2: Using `oct()` Built-in Function

Python has a built-in function oct() that can directly convert a decimal number to its octal string representation. The result includes a prefix 0o to denote it's an octal number.

decimal = int(input("Enter a decimal number: "))
octal = oct(decimal)
print("Octal equivalent:", octal[2:])  # Remove the '0o' prefix
            

Output:

Enter a decimal number: 31
Octal equivalent: 37

Method 3: Using Recursion

We can convert a decimal number to octal recursively. The recursive function divides the number by 8 and prints the remainders, which form the octal digits.

def decimal_to_octal_recursive(decimal):
    if decimal == 0:
        return ''
    
    return decimal_to_octal_recursive(decimal // 8) + str(decimal % 8)

decimal = int(input("Enter a decimal number: "))
if decimal == 0:
    print("Octal equivalent: 0")
else:
    print("Octal equivalent:", decimal_to_octal_recursive(decimal))
            

Output:

Enter a decimal number: 31
Octal equivalent: 37
Numbers

Below You will find some of the most important codes in languages like C, C++, Java, and Python. These codes are of prime importance for college semester exams and online tests.

Getting Started

HCF - Highest Common Factor: C C++ Java Python

LCM - Lowest Common Multiple: C C++ Java Python

GCD - Greatest Common Divisor: C C++ Java Python

Binary to Decimal Conversion: C C++ Java Python

Octal to Decimal Conversion: C C++ Java Python

Hexadecimal to Decimal Conversion: C C++ Java Python

Decimal to Binary Conversion: C C++ Java Python

Decimal to Octal Conversion: C C++ Java Python

Decimal to Hexadecimal Conversion: C C++ Java Python

Binary to Octal Conversion: C C++ Java Python

Quadrants in which a given coordinate lies: C C++ Java Python

Addition of Two Fractions: C C++ Java Python

Calculate the Area of a Circle: C C++ Java Python

Convert Digit/Number to Words: C C++ Java Python

Finding Roots of a Quadratic Equation: C C++ Java Python