📅  最后修改于: 2023-12-03 15:32:00.960000             🧑  作者: Mango
在Java中,整数(int)类型中有一个非常有用的方法Integer.lowestOneBit()
。这个方法返回一个整数二进制表示中最低的1所在的位数,索引从0开始计算。
例如,对于整数24(二进制表示为11000),lowestOneBit()
方法会返回3,因为在第3位上有一个“1”。
以下是lowestOneBit()
方法的函数签名:
public static int lowestOneBit(int i)
该方法接受一个整数参数,返回该整数二进制表示中最低的1所在的位数。
以下是使用lowestOneBit()
方法的示例代码:
int num = 24;
int lowest1Bit = Integer.lowestOneBit(num); // 返回3
此外,还有一个类似的方法Integer.highestOneBit()
,该方法返回整数二进制表示中最高的1所在的位数。与lowestOneBit()
方法不同,此方法从最高位开始索引,从左往右数。
以下是highestOneBit()
方法的函数签名:
public static int highestOneBit(int i)
该方法接受一个整数参数,返回该整数二进制表示中最高的1所在的位数。
以下是使用highestOneBit()
方法的示例代码:
int num = 24;
int highest1Bit = Integer.highestOneBit(num); // 返回16
在编写位运算代码时,这两个方法可以非常方便地帮助我们查找最低或最高位上的1。