부동 소수점 값이 주어지고 소수점 이하 자릿수를 입력하면 우리의 임무는 그것을 이진 형식으로 변환하는 것입니다.
먼저 부동 소수점 값에서 정수 부분을 가져와 이진수로 변환한 다음 소수 부분을 가져와 이진 형식으로 변환하고 마지막으로 둘을 결합합니다.
예
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