while(l + 1e-6 <r){ double mid=(l+r)/2;/*这里不能再用右移运算了*/ if(calc(mid))r=mid;//一般运用于单调函数上 else l=mid; }
1e-6是eps
代码为什么是l+eps,如果l因为精度问题边大了,那再加上eps不是更大了吗,应该l-eps啊