int numberOfLeadingZeros(int i) 指定一个int,返回这个数的二进制串中从最左边算起连续的“0”的总数量。因为int类型的数据长度为32所以高位不足的地方会以“0”填充
通过32-Integer.numberOfLeadingZeros(x)得到在二进制中属于几位数,例子:
>>> Integer.toBinaryString(4)
u'100'
>>> 32-Integer.numberOfLeadingZeros(4)
3
>>> Integer.toBinaryString(8)
u'1000'
>>> 32-Integer.numberOfLeadingZeros(8)
4