首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Java java.lang.Integer类中,代码注释'HD,图‘是什么意思?

在Java java.lang.Integer类中,代码注释'HD,图‘是什么意思?
EN

Stack Overflow用户
提问于 2017-10-12 12:48:13
回答 2查看 711关注 0票数 5

例如,JDK方法java.lang.Integer.numberOfLeadingZeros(int):

代码语言:javascript
运行
复制
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‘是什么意思?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-12 12:51:01

哈克的欢乐。见javadoc

实现注意:“位旋转”方法(如highestOneBitnumberOfTrailingZeros)的实现基于小亨利·S·沃伦的“哈克乐”的材料(Addison,2002年)。

票数 7
EN

Stack Overflow用户

发布于 2018-11-22 00:47:56

java.lang.Longjava.lang.Math中也有这样的评论。

例如,addExact方法在java.lang.Math

代码语言:javascript
运行
复制
public static int addExact(int x, int y) {
    int r = x + y;
    // HD 2-12 Overflow iff both arguments have the opposite sign of the result
    if (((x ^ r) & (y ^ r)) < 0) {
        throw new ArithmeticException("integer overflow");
    }
    return r;
}

有关Hacker‘information的信息,我们还可以参考:http://hackersdelight.org/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46710028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档