求lg的问题
编写求lg(N)的递归函数,请问怎么写误差较小int lg(int N)
{
if (N == 1) return 0;
else if(N == 2) return 1;
else return 1+lg(N/2);
}
这么写对于不是2的方幂的数误差太大啊。。。
----------------解决方案--------------------------------------------------------
你返回的是整型值,有什么误差
当然用移位写,效率高点
----------------解决方案--------------------------------------------------------