编程小技巧

  1. a/b向上取整,a和b均为大于零的整数

原理:a/b的余数最小值可能为0,最大值可能为(b-1)/b,如果我们给余数再加上(b-1)/b,那么当余数为0时结果小于1,不需要向上加1,其余情况结果一定大于1,达到向上加1的效果

var a, b int
ceil := (a+b-1)/b
  1. a/b四舍五入,a和b均为大于零的整数

原理:给a/b的结果加上0.5后向下取整=floor(a/b+0.5)

var a, b int
round := (2*a+1)/2