Python 将浮点数转换为二进制
在本文中,我们将看到如何将浮点数转换为二进制。二进制使用两个数字0和1。也称为基数2的数字系统。二进制数中的每个位置表示基数(2)的0次幂。二进制数中的最后一个位置表示基数(2)的x次幂。
首先,我们从浮点数值中取整数部分,并将其转换为二进制,然后取小数部分并将其转换为二进制形式,最后将两者合并。
假设我们有以下浮点数 –
22.625
将十进制数22转换成二进制数10110。将十进制数0.625转换成二进制数0.101。将整数部分和小数部分组合起来得到下面的输出 −
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