【发布时间】:2015-10-11 09:55:15
【问题描述】:
在java.util.DualPivotQuicksort中,出现以下代码行:
// Inexpensive approximation of length / 7
int seventh = (length >> 3) + (length >> 6) + 1;
变量length 是一个大于或等于47 的int。
我熟悉带符号右移运算符的工作原理。但我不知道为什么这些特定的操作会导致除以 7 的近似值。有人可以解释一下吗?
【问题讨论】:
-
右移 3 相当于什么除法?
标签: java math bit-manipulation bit-shift