Java java.lang.Integer类中的代码注释'HD,Figure'是什么意思?

Jas*_*son 2 java openjdk jvm jvm-hotspot

例如,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;
}
Run Code Online (Sandbox Code Playgroud)

代码注释' HD,图5-6 '是什么意思?

ass*_*ias 5

HD = Hacker's Delight.看到javadoc:

实施注释:"bit twiddling"方法(例如highestOneBitnumberOfTrailingZeros)的实现基于来自Henry S. Warren,Jr.的Hacker's Delight(Addison Wesley,2002)的材料.