美文网首页探索JDK
探索Integer番外篇之Integer.numberOfTra

探索Integer番外篇之Integer.numberOfTra

作者: 苏小小北 | 来源:发表于2018-10-25 16:58 被阅读0次

1. 前言


看过Integer.numberOfLeadingZeros(int i)的朋友,都知道求的最高位连续0的个数。相应滴,也就有求最低位连续0的个数(或者说,求最低位1的位置)

2. 源码


直接上代码,

    public static int numberOfTrailingZeros(int i) {
        // HD, Figure 5-14
        int y;
        if (i == 0) return 32;
        int n = 31;
        y = i <<16; if (y != 0) { n = n -16; i = y; }
        y = i << 8; if (y != 0) { n = n - 8; i = y; }
        y = i << 4; if (y != 0) { n = n - 4; i = y; }
        y = i << 2; if (y != 0) { n = n - 2; i = y; }
        return n - ((i << 1) >>> 31);
    }

这里其实跟求numberOfLeadingZeros(int i)没什么太大区别,思路都是一样,
传送门:https://www.jianshu.com/p/36352010565c

3.后言

要想生活过得去 头上就得顶点绿

其他

本人也是在慢慢学习中,如有错误还请原谅、敬请指出,谢谢!

相关文章

网友评论

    本文标题:探索Integer番外篇之Integer.numberOfTra

    本文链接:https://www.haomeiwen.com/subject/mhqctqtx.html