近似计算的小程序: 就是把 0.607252941 分解为 0.5 0.25 0.125 ...... 这样的和
这样可以利用左移右移加快运算速度,而精度损失非常小...
double tmpY = 2.0;
double tmp = 0.0;
double xx = 0.607252941;
for (int i=0; i<20; i++)
{
tmpY = tmpY * 0.5;
if ( (tmp + tmpY) <= xx)
{
tmp = tmp + tmpY;
printf(" %2d
", i);
}
}