Java 商数向上取整一例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_34524528/article/details/88421727

错误一例:

int min,max;
//...一些过程
int mid = (int) Math.ceil((min+max)/2);

这个代码不能达到向上取整的目的
因为min,max 都是int类型,相加除以2之后,已经向0取整,已经是整数,所以Math.ceil()方法无济于事。

处理办法1 2

int mid = (min+max+1)/2;
//或者
int min = (min+max+1)>>1;

  1. 1 ↩︎

  2. 2 ↩︎

猜你喜欢

转载自blog.csdn.net/sinat_34524528/article/details/88421727