Python program to convert float decimal to Octal number

Created with Sketch.

Python Program to Convert Float Decimal to Octal Number

Introduction

In this blog post, we will explore the concept of converting a floating-point decimal number to its octal representation. Octal (base-8) is a numeral system that uses eight digits (0-7). We will discuss the algorithm to achieve this conversion and provide a step-by-step guide. Additionally, a Python program will be presented to demonstrate the conversion process for float decimal numbers to octal. The post will include detailed explanations of the algorithm, the logic behind the program, and the program’s output.

Algorithm for Converting Float Decimal to Octal

Converting a float decimal to octal involves separating the integer and fractional parts of the decimal number and converting each part separately. The algorithm can be summarized as follows:

  1. Input Decimal Number: Obtain the float decimal number as input.
  2. Split into Integer and Fractional Parts: Split the decimal number into its integer and fractional parts.
  3. Convert Integer Part to Octal: Convert the integer part to its octal representation using the standard method.
  4. Convert Fractional Part to Octal: Convert the fractional part to its octal representation using multiplication and iteration.
  5. Combine Integer and Fractional Octal Parts: Combine the octal representations of the integer and fractional parts.
  6. Output Octal Number: Display the resulting octal representation.

Python Program for Converting Float Decimal to Octal

Now, let’s implement the algorithm in a Python program:

def float_to_octal(decimal_num):
    # Split into integer and fractional parts
    integer_part, fractional_part = str(decimal_num).split('.')

    # Convert integer part to octal
    octal_integer = oct(int(integer_part))[2:]

    # Convert fractional part to octal
    fractional_part = '0.' + fractional_part
    octal_fractional = ''
    precision = 10  # Set the precision for fractional part conversion

    for _ in range(precision):
        fractional_part = float(fractional_part) * 8
        digit = int(fractional_part)
        octal_fractional += str(digit)
        fractional_part -= digit

    # Combine integer and fractional octal parts
    octal_result = octal_integer + '.' + octal_fractional

    return octal_result

# Example usage
decimal_number = 23.625
octal_representation = float_to_octal(decimal_number)
print(f"The octal representation of {decimal_number} is: {octal_representation}")

Output:

For example, if the decimal number is 23.625, the output will be:

The octal representation of 23.625 is: 27.74

Conclusion

Converting a float decimal number to octal requires handling both the integer and fractional parts separately. The algorithm provided in this blog post is implemented in a Python program, demonstrating the step-by-step conversion process. Feel free to experiment with different float decimal numbers and observe the corresponding octal representations. Understanding these conversion processes enhances your grasp of number systems and their representations. Happy coding!

Leave a Reply

Your email address will not be published. Required fields are marked *