Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python แปลงทศนิยมทศนิยมให้เป็นเลขฐานแปด


ให้ค่าทศนิยมแบบทศนิยมและป้อนตัวเลขตำแหน่งทศนิยม หน้าที่ของเราคือแปลงเป็นรูปแบบฐานแปด

ขั้นแรก เรานำส่วนจำนวนเต็มจากค่าทศนิยมและแปลงเป็นฐานแปด จากนั้นจึงนำเศษส่วนมาแปลงเป็นรูปแบบฐานแปดและสุดท้ายก็รวมทั้งสองอย่างเข้าด้วยกัน

ดังนั้น ขั้นตอนแรกคือการนำ Integer Part แล้วหารตัวเลขด้วย 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