Java.lang.Long 类

java.lang.Long.highestOneBit() 方法返回一个最多只有一位一位的 long 值,格式为指定 long 值中最高位("最左边")一位的位置。如果指定值在其二进制补码二进制表示形式中没有一位(即等于零),则返回零。

语法

public static long highestOneBit(long i)

参数

i 指定要计算的最高一位的值。

返回值

返回指定值中最高位一位的长整型值,如果指定值本身等于,则返回零零。

异常

无。

示例:

在下面的示例中,java .lang.Long.highestOneBit() 方法返回一个具有单个 1 位的 long 值,位于指定值中最高位 1 位的位置。

import java.lang.*;

public class MyClass {
  public static void main(String[] args) {
    
    //创建长值
    long x = 135;

    //打印x
    System.out.println("The x is = " + x);     

    //打印x的二进制表示
    System.out.println("The x in binary is = " + Long.toBinaryString(x)); 

    //打印最高位一位
    System.out.println("Highest-order one-bit = " + Long.highestOneBit(x)); 
  }
}

输出上述代码将是:

The x is = 135
The x in binary is = 10000111
Highest-order one-bit = 128