例如,JDK方法java.lang.Integer.numberOfLeadingZeros(int):
public static int numberOfLeadingZeros(int i) {
// HD, Figure 5-6
if (i == 0)
return 32;
int n = 1;
if (i >>> 16 == 0) { n += 16; i <<= 16; }
if (i >>> 24 == 0) { n += 8; i <<= 8; }
if (i >>> 28 == 0) { n += 4; i <<= 4; }
if (i >>> 30 == 0) { n += 2; i <<= 2; }
n -= i >>> 31;
return n;
}
代码注释' HD,图5-6 '是什么意思?
答案 0 :(得分:5)
HD = Hacker's Delight。请参阅the javadoc:
实施说明:&#34; bit twiddling&#34;的实现方法(例如
highestOneBit
和numberOfTrailingZeros
)基于来自Henry S. Warren,Jr。的Hacker's Delight的材料(Addison Wesley,2002)。
答案 1 :(得分:0)
(\d+)
和(\w)
中也有这样的注释。
例如,java.lang.Long
中的java.lang.Math
方法:
addExact
有关Hacker's Delight的信息,我们也可以参考: http://hackersdelight.org/