📅  最后修改于: 2023-12-03 15:16:33.239000             🧑  作者: Mango
highestOneBit()
是Java中的整数方法之一,它返回一个整数中最高位的1所在的位置,其余位都为0。
public static int highestOneBit(int i)
i
:待寻找最高位1的整数。
返回值为一个整数,最高位为1,其余位都为0。
int i = 123;
int highestBit = Integer.highestOneBit(i);
System.out.println("i的二进制表示为:" + Integer.toBinaryString(i));
System.out.println("i中最高位的1所在的位置:" + Integer.numberOfTrailingZeros(highestBit));
输出结果为:
i的二进制表示为:1111011
i中最高位的1所在的位置:6
highestOneBit()
方法中会调用Integer.numberOfLeadingZeros(int i)
方法获取i
中最高位的1所在的位置,再根据移位运算得到一个整数最高位为1,其他位为0的结果。
需要注意的是,如果i
等于0,则返回值为0。
highestOneBit()
方法是一个快速获取整数中最高位1所在位置的方法,通常用于数据处理、算法中。在使用时需要注意输入参数为0的情况。