如下,我大概介绍下,pop[10][]2里每一个元素是一个二进制字符串,bintodec方法的作用就是把这个二进制字符串转换成十进制数值,然后为啥好像printf把输出内容给截断了,只固定输出了6位小数,就是因为printf函数的原因吗还是其它原因
for(int i=0;i<pop.length;i++){
System.out.printf("第%d组:\t",i);
for (int j=0;j<2;j++){
System.out.print(binToDec(pop[i][j]));
System.out.print("\t");
}
System.out.printf("\n%f\t%f\n",binToDec(pop[i][0]),binToDec(pop[i][1]));
System.out.println();
}
以下是节选的几组输出结果
第0组: -3.0205078125 4.2060546875
-3.020508 4.206055
第1组: -8.5107421875 9.8515625
-8.510742 9.851563
第2组: -8.1044921875 0.5703125
-8.104492 0.570313
第3组: -5.876953125 2.2265625
-5.876953 2.226563
binToDec返回是double类型吧
double类型小数位数可以输出到16位左右,
printf的时候%f貌似对应的float,float最大8位,显示更多的位数的话,比如%.9f,可以显示到9位。