【发布时间】:2020-07-13 00:44:35
【问题描述】:
我有以下代码:
long[] blocks = new long[(someClass.getMemberArray().length - 1) / 64 + 1];
基本上someClass.getMemberArray() 可以返回一个比 64 大得多的数组,并且代码会尝试确定后续处理需要多少 len 64 块。
我对逻辑以及它是如何工作的感到困惑。在我看来,只是在做:
long[] blocks = new long[(int) Math.ceil(someClass.getMemberArray().length / 64.0)];
应该也可以工作,看起来更简单。
有人可以帮助我理解原始 sn-p 中的 -1 和 +1 推理,它是如何工作的,以及 ceil 在某些情况下是否会失败?
【问题讨论】:
标签: java arrays math integer integer-division