遗传算法模块——改进了浮点转二进制之间的转换

直接调用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来测试模块功能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值