美文网首页探索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