Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

부동을 바이너리로 변환하는 Python 프로그램

<시간/>

부동 소수점 값이 주어지고 소수점 이하 자릿수를 입력하면 우리의 임무는 그것을 이진 형식으로 변환하는 것입니다.

먼저 부동 소수점 값에서 정수 부분을 가져와 이진수로 변환한 다음 소수 부분을 가져와 이진 형식으로 변환하고 마지막으로 둘을 결합합니다.

The floating point value is 22.625
Convert decimal 22 to binary 10110. Convert decimal 0.625 to binary 0.101. Combine integer and fraction to obtain binary 10110.101.

예시 코드

def floatoctal_convert(my_number, places = 3):
   my_whole, my_dec = str(my_number).split(".")
   my_whole = int(my_whole)
   my_dec = int (my_dec)
   res = bin(my_whole).lstrip("0b") + "."
   for x in range(places):
      my_whole, my_dec = str((my_decimal_converter(my_dec)) * 8).split(".")
      my_dec = int(my_dec)
      res += my_whole
   return res
def my_decimal_converter(num):
   while num > 1:
      num /= 10
   return num
# Driver Code
n = input("Enter floating point value : \n")
p = int(input("Enter the number of decimal places of the result : \n"))
print(floatoctal_convert(n, places = p))

출력

Enter floating point value : 
2.34
Enter the number of decimal places of the result : 
3
10.256