java.lang.Long.lowestOneBit() es un método incorporado en Java que primero convierte el número a binario, luego busca el primer conjunto de bits presente en la posición más baja, luego restablece el resto de los bits y luego devuelve el valor. En un lenguaje simple, si la expresión binaria de un número contiene un mínimo de un solo bit establecido, devuelve 2^ (primera posición de bit establecido desde la derecha-1). Si la expresión binaria no contiene ningún bit establecido, devuelve 0.
Sintaxis:
public static long lowestOneBit(long num) Parameters: num - the number passed Returns: long value by only considering lowest 1 bit in the argument.
Ejemplos:
Input : 36 Output : 4 Explanation: Binary Representation = 0010 0100 It considers lowest bit(at 3) and now reset rest of the bits i.e. 0000 0100 so result = 0100 i.e. 4 or in simple terms, the first set bit position from right is at position 3, hence 2^2=4 Input : 1032 Output : 8
El siguiente programa ilustra la función java.lang.Long.lowestOneBit():
Programa 1:
// Java program that demonstrates the use of // Long.lowestOneBit() function // include lang package import java.lang.*; public class GFG { public static void main(String[] args) { long l = 1032; // returns a long 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 = " + Long.lowestOneBit(l)); l = 45; System.out.println("Lowest one bit = " + Long.lowestOneBit(l)); } }
Producción:
Lowest one bit = 8 Lowest one bit = 1
Programa 2: El siguiente programa demuestra el uso de la función cuando se pasa un número negativo.
// java program that demonstrates the use of // Long.lowestOneBit() function // negative number // include lang package import java.lang.*; public class GFG { public static void main(String[] args) { long l = -12; // prints the binary of a negative expression System.out.println("Binary = " + Long.toBinaryString(l)); // returns a long 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 = " + Long.lowestOneBit(l)); } }
Producción:
Binary = 1111111111111111111111111111111111111111111111111111111111110100 Lowest one bit = 4
Devuelve un mensaje de error cuando se pasa un valor de string decimal como argumento.
Programa 3: cuando se pasa un valor decimal en el argumento.
// java program that demonstrates the // Long.lowestOneBit() function // decimal value in argument // include lang package import java.lang.*; public class GFG { public static void main(String[] args) { System.out.println("Lowest one bit = " + Long.lowestOneBit(12.34)); } }
Producción:
prog.java:12: error: incompatible types: possible lossy conversion from double to long System.out.println("Lowest one bit = " + Long.lowestOneBit(12.34));
Programa 4: cuando se pasa un valor de string en el argumento.
// java program that demonstrates the // Long.lowestOneBit() function // string value in argument // include lang package import java.lang.*; public class GFG { public static void main(String[] args) { System.out.println("Lowest one bit = " + Long.lowestOneBit("12")); } }
Producción:
prog.java:12: error: incompatible types: String cannot be converted to long System.out.println("Lowest one bit = " + Long.lowestOneBit("12"));