एक फ्लोट दशमलव मान को देखते हुए और दशमलव स्थान संख्या को इनपुट करते हुए, हमारा कार्य इसे अष्टक रूप में परिवर्तित करना है।
सबसे पहले, हम फ़्लोटिंग पॉइंट मान से पूर्णांक भाग लेते हैं और इसे ऑक्टल में परिवर्तित करते हैं, फिर हम भिन्नात्मक भाग लेते हैं और इसे ऑक्टल रूप में परिवर्तित करते हैं और अंत में दोनों को मिलाते हैं।
तो, पहला कदम यह है कि पूर्णांक भाग लें और संख्या को 8 से विभाजित करते रहें और शेष को तब तक नोट करते रहें जब तक कि लाभांश 8 से कम न हो और सभी शेष को एक साथ कॉपी करें।
दूसरा चरण दशमलव भाग है और दशमलव भाग को 8 से तब तक गुणा करते रहें जब तक कि हमें भिन्नात्मक भाग के रूप में 0 शेष न मिल जाए और पहली बार गुणा करने के बाद एक अभिन्न भाग को नोट कर लें और फिर नए मान के दशमलव भाग को 8 से गुणा करें और करते रहें यह पूर्ण संख्या तक पहुंचने तक।
उदाहरण कोड
def float_convert_octal(my_number, places = 3): my_whole, my_dec = str(my_number).split(".") my_whole = int(my_whole) my_dec = int (my_dec) res = oct(my_whole).lstrip("0o") + "." for x in range(places): my_whole, my_dec = str((decimal_converter(my_dec)) * 8).split(".") my_dec = int(my_dec) res += my_whole return res def decimal_converter(num): while num > 1: num /= 10 return num n = input("Enter the floating point value : \n") p = int(input("Enter the number of decimal places of the result : \n")) print(float_convert_octal(n, places = p))
आउटपुट
Enter the floating point value : 6.89 Enter the number of decimal places of the result : 12 6.707534121727