Java Long.highestOneBit()方法

原文:https://www.studytonight.com/java-wrapper-class/java-long-highestonebit-method

Java highestOneBit()方法是java.lang包的Long类的一部分。此方法用于返回 long 的单个一位长值,该值作为最高阶(最左侧)位置的参数传递,如果传递的参数为零,则返回零。

例如,long 17 的输入将返回 16;因为 17 可以用二进制表示为 10001,所以它将返回最左边的位,等于 16。

语法:

public static long highestOneBit(long i)

参数:

传递的参数是要返回其最高位的长值。

返回:

返回最高位位置的单个一位长值,如果传递的参数为零,则返回零。

例 1:

这里,20 的二进制表示是 10100,因此最高一位是 16,在负二进制的情况下,将考虑等价的二进制补码,并相应地取最高位。

public class StudyTonight
{  
    public static void main(String[] args) 
    {  
        long i = 20L;
        long j = -12L;

        System.out.println(" highest-order one-bit Long is: "+Long.highestOneBit(i));  
        System.out.println(" highest-order one-bit Long is: "+Long.highestOneBit(j));  
    }  
}

最高阶一位 Long 为:16 最高阶一位 Long 为:-9223372036854775808

例 2:

这里有一个用户定义的例子,任何使用这段代码的人都可以输入自己选择的值,并获得等效的输出。

import java.util.Scanner;  

public class StudyTonight
{  
    public static void main(String[] args)
    {  
        try
        {
            System.out.print("Enter the number : ");  
            Scanner sc = new Scanner(System.in);  
            Long i = sc.nextLong();  
            System.out.println("Highest-order one-bit Long is: "+Long.highestOneBit(i));  
        }
        catch(Exception e)
        {
            System.out.println("Exception occurred:" + e);  
        }
     }
}

输入数字:55 最高阶一位长是:32

                                                                                          • *第 输入数字:-343 最高阶一位长是:-9223372036854775808

实时示例:

在这里,您可以测试实时代码示例。您可以为不同的值执行示例,甚至可以编辑和编写您的示例来测试 Java 代码。