用来写遗传算法的几个方便的小函数

这次的人工智能布置了一个作业,就是用遗传算法求出y=x^2在x属于[1~511]之间的最大值。要用到随机数,二进制转换之类的功能。
所以就随手写了几个,方便需要的朋友拿去使用。
核心算法部分我删掉了。就提供我写的几个小函数,方便大家专注与核心代码的书写。
itoa是用来转换一个整数到二进制的
atoi是把二进制转化成整数的
getrand是用来获取随机初始种群的
getP是用来获取选择概率的
上代码

/* Copyright (C) 2010 zerob13 */ #include #include #include #include #include using namespace std; #define MAXNUM 511;//种群范围 #define NUMLEN 8//种群编码长度 #define STNUM 6//种群个体数目 void itoa(int a,int ans[])//输入整数a,和数组ans,然后,a的二进制会存放在ans里。(当然你也可以直接用系统自带的itoa) { int i,j; int co=0; while(a!=1&&a){ ans[co++]=a%2; a/=2; } if(a) { ans[co++]=1; } for(i=0,j=NUMLEN-1;i