这里二进制数有两种表示方式,不同方式的代码略有不同:
1.将二进制数用boolean数组表示
假设要求解的二进制数为:1101(也就是十进制数13)
public class TransformTseting {
public double TransformBin2Int(boolean[] Gene){
double Result=0;
double tmp2=0;
for (int i = 0; i <Gene.length ;i++)
{
if (Gene[i])
{
tmp2=Result+Math.pow(2,(Gene.length-1-i));
Result=tmp2;
}
}
return Result;
}
public static void main(String[] args) {
boolean[] Gene={true,true,false,true};
System.out.println(new TransformTseting().TransformBin2Int(Gene));
}
}
代码运行的结果为
2.将二进制数用int数组表示
假设要求解的二进制数为:1101(也就是十进制数