Java - Long lowestOneBit() method



Description

The Java Long lowestOneBit() method returns an long value with at most a single one-bit, in the position of the lowest-order ("rightmost") one-bit in the specified long value. It returns zero if the specified value has no one-bits in its two's complement binary representation, that is, if it is equal to zero.

Declaration

Following is the declaration for java.lang.Long.lowestOneBit() method

public static long lowestOneBit(long i)

Parameters

i − This is the long value.

Return Value

This method returns an long value with a single one-bit, in the position of the lowest-order one-bit in the specified value, or zero if the specified value is itself equal to zero.

Exception

NA

Example 1

The following example shows the usage of Long lowestOneBit() method to get an long value with at most a single one-bit in the position of the lowest-order. We've created a long variable and assigned it a positive long value. Then using toBinaryString() method, we're printing the binary format of the value. Using bitCount(), we're printing the one bits count and then value of lowest one bit is printed using lowestOneBit() method.

package com.tutorialspoint;
public class LongDemo {
   public static void main(String[] args) {
      long i = 170L;
      System.out.println("Number = " + i);

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

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

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

Output

Let us compile and run the above program, this will produce the following result −

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

Example 2

The following example shows the usage of Long lowestOneBit() method to get an long value with at most a single one-bit in the position of the lowest-order. We've created a long variable and assigned it a negative long value. Then using toBinaryString() method, we're printing the binary format of the value. Using bitCount(), we're printing the one bits count and then value of lowest one bit is printed using lowestOneBit() method.

package com.tutorialspoint;
public class LongDemo {
   public static void main(String[] args) {
      long i = -170L;
      System.out.println("Number = " + i);

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

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

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

Output

Let us compile and run the above program, this will produce the following result −

Number = -170
Binary = 1111111111111111111111111111111111111111111111111111111101010110
Number of one bits = 60
Lowest one bit = 2

Example 3

The following example shows the usage of Long lowestOneBit() method to get an long value with at most a single one-bit in the position of the lowest-order. We've created a long variable and assigned it a positive long value. Then using toBinaryString() method, we're printing the binary format of the value. Using bitCount(), we're printing the one bits count and then value of lowest one bit is printed using lowestOneBit() method.

package com.tutorialspoint;
public class LongDemo {
   public static void main(String[] args) {
      long i = 0L;
      System.out.println("Number = " + i);

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

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

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

Output

Let us compile and run the above program, this will produce the following result −

Number = 0
Binary = 0
Number of one bits = 0
Lowest one bit = 0
java_lang_long.htm
Advertisements