Java - Integer lowestOneBit() 方法



描述

Java Integer lowestOneBit() 方法返回一个 int 值,该值最多只有一个比特位为 1,位于指定 int 值中最低位(最右)的 1 比特位的位置。如果指定值在其二进制补码表示中没有 1 比特位,即等于零,则返回零。

声明

以下是 java.lang.Integer.lowestOneBit() 方法的声明

public static int lowestOneBit(int i)

参数

i − 这是一个 int 值。

返回值

此方法返回一个 int 值,该值只有一个比特位为 1,位于指定值中最低位的 1 比特位的位置;如果指定值本身等于零,则返回零。

异常

从正整数中获取最右位示例

以下示例演示了如何使用 Integer lowestOneBit() 方法获取一个 int 值,该值最多只有一个比特位为 1,位于最低位。我们创建了一个 int 变量并为其赋值一个正整数。然后使用 toBinaryString() 方法打印值的二进制格式。使用 bitCount() 打印 1 比特位的数量,然后使用 lowestOneBit() 方法打印最低位 1 的值。

package com.tutorialspoint;

public class IntegerDemo {
   public static void main(String[] args) {
      int i = 170;
      System.out.println("Number = " + i);

      /* returns the string representation of the unsigned integer value 
         represented by the argument in binary (base 2) */
      System.out.println("Binary = " + Integer.toBinaryString(i));

      // returns the number of one-bits 
      System.out.println("Number of one bits = " + Integer.bitCount(i));

      /* returns an int value with at most a single one-bit, in the position 
         of the lowest-order ("rightmost") one-bit in the specified int value */ 
      System.out.println("Lowest one bit = " + Integer.lowestOneBit(i));
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Number = 170
Binary = 10101010
Number of one bits = 4
Lowest one bit = 2

从负整数中获取最右位示例

以下示例演示了如何使用 Integer lowestOneBit() 方法获取一个 int 值,该值最多只有一个比特位为 1,位于最低位。我们创建了一个 int 变量并为其赋值一个负整数。然后使用 toBinaryString() 方法打印值的二进制格式。使用 bitCount() 打印 1 比特位的数量,然后使用 lowestOneBit() 方法打印最低位 1 的值。

package com.tutorialspoint;

public class IntegerDemo {
   public static void main(String[] args) {
      int i = -170;
      System.out.println("Number = " + i);

      /* returns the string representation of the unsigned integer value 
         represented by the argument in binary (base 2) */
      System.out.println("Binary = " + Integer.toBinaryString(i));

      // returns the number of one-bits 
      System.out.println("Number of one bits = " + Integer.bitCount(i));

      /* returns an int value with at most a single one-bit, in the position 
         of the lowest-order ("rightmost") one-bit in the specified int value */ 
      System.out.println("Lowest one bit = " + Integer.lowestOneBit(i));
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Number = -170
Binary = 11111111111111111111111101010110
Number of one bits = 28
Lowest one bit = 2

从正零值中获取最右位示例

以下示例演示了如何使用 Integer lowestOneBit() 方法获取一个 int 值,该值最多只有一个比特位为 1,位于最低位。我们创建了一个 int 变量并为其赋值一个正整数。然后使用 toBinaryString() 方法打印值的二进制格式。使用 bitCount() 打印 1 比特位的数量,然后使用 lowestOneBit() 方法打印最低位 1 的值。

package com.tutorialspoint;

public class IntegerDemo {
   public static void main(String[] args) {
      int i = 0;
      System.out.println("Number = " + i);

      /* returns the string representation of the unsigned integer value 
         represented by the argument in binary (base 2) */
      System.out.println("Binary = " + Integer.toBinaryString(i));

      // returns the number of one-bits 
      System.out.println("Number of one bits = " + Integer.bitCount(i));

      /* returns an int value with at most a single one-bit, in the position 
         of the lowest-order ("rightmost") one-bit in the specified int value */ 
      System.out.println("Lowest one bit = " + Integer.lowestOneBit(i));
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Number = 0
Binary = 0
Number of one bits = 0
Lowest one bit = 0
java_lang_integer.htm
广告