直接调用bin函数只能转换整数,小数的模块添加到了里面。
def dec_bin(population,len_str):
flo_po=population-int(population)
n=0
bins_i=bin(int(population))
bins_d = str()
while n<(len_str-len(bins_i)):
flo_po *= 2
print(flo_po)
bins_d+=(str(1 if flo_po>=1. else 0))
flo_po -= int(flo_po)
n+=1
if abs(flo_po)<1e-5:
break
return bins_i,bins_d
下一步就是解决这个二进制基因的模块还有突变了。

由于float类型的误差问题,所以加入0.000001来测试模块功能。
本文介绍了一种将浮点数转换为二进制的方法,通过分离整数和小数部分,并使用while循环精确地转换小数部分到二进制。此方法解决了直接调用bin函数无法处理小数的问题。
6019

被折叠的 条评论
为什么被折叠?



