java.lang.Integer.numberOfLeadingZeros() es el método que devuelve el número total de cero (0) bits que preceden al bit de orden más alto (es decir, el más a la izquierda o el «1» más significativo) de un bit en la representación binaria del complemento a dos. del valor entero especificado o podemos decir que es la función que convierte el valor int en binario, luego considera el bit más alto y devuelve no. de cero bits que lo preceden. Si el valor entero especificado no tiene bits de uno en su representación de complemento a dos, en otras palabras, si es igual a cero, devolverá 32.
Sintaxis:
public static int numberOfLeadingZeros(int arg)
Parámetro: este método acepta un solo parámetro arg que es el valor entero.
Valor devuelto: este método devuelve el número de bits cero que preceden al bit establecido de orden más alto en la representación binaria del complemento a dos del valor int especificado, o 32 si el valor es igual a cero.
Explicación:
- Considere cualquier número entero arg = 19
- Representación binaria = 0001 0011
- Bit más alto (en 5) ie0001 0000
- entonces resultado = 16-5 es decir 11
Los siguientes programas ilustran el método java.lang.Integer.numberOfLeadingZeros().
Programa 1: Para un número positivo.
java
// Java program to illustrate the // java.lang.Integer.numberOfLeadingZeros() import java.lang.*; public class LeadingZeros { public static void main(String[] args) { int a = 155; System.out.println("Integral Number = " + a); // Returns the number of zero bits preceding the highest-order // leftmost one-bit System.out.print("Number of Leading Zeros = "); System.out.println(Integer.numberOfLeadingZeros(a)); a = 10; System.out.println("Integral Number = " + a); // Returns the number of zero bits preceding the highest-order // leftmost one-bit System.out.print("Number of Leading Zeros = "); System.out.println(Integer.numberOfLeadingZeros(a)); } }
Integral Number = 155 Number of Leading Zeros = 24 Integral Number = 10 Number of Leading Zeros = 28
Programa 2: Para un número negativo.
java
// Java program to illustrate the // java.lang.Integer.numberOfLeadingZeros() import java.lang.*; public class LeadingZeros { public static void main(String[] args) { int a = -15; System.out.println("Number = " + a); // Returns the number of zero bits preceding the highest-order // leftmost one-bit System.out.print("Number of Leading Zeros = "); System.out.println(Integer.numberOfLeadingZeros(a)); } }
Number = -15 Number of Leading Zeros = 0
Programa 3: Para un valor decimal.
Nota: Devuelve un mensaje de error cuando se pasa un valor decimal como argumento.
java
// Java program to illustrate the // java.lang.Integer.numberOfLeadingZeros() import java.lang.*; public class LeadingZeros { public static void main(String[] args) { // Returns the number of zero bits preceding the highest-order // leftmost one-bit System.out.print("Number of Leading Zeros = "); System.out.println(Integer.numberOfLeadingZeros(16.32)); } }
Producción:
prog.java:11: error: incompatible types: possible lossy conversion from double to int System.out.println(Integer.numberOfLeadingZeros(16.32)); ^ Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output 1 error
Programa 4: Para un valor de string se pasa en el argumento.
Nota: devuelve un mensaje de error cuando se pasa una string como argumento.
java
// Java program to illustrate the // java.lang.Integer.numberOfLeadingZeros() import java.lang.*; public class LeadingZeros { public static void main(String[] args) { // returns the number of zero bits preceding the highest-order // leftmost one-bit System.out.print("Number of Leading Zeros = "); System.out.println(Integer.numberOfLeadingZeros("18")); } }
Producción:
prog.java:11: error: incompatible types: String cannot be converted to int System.out.println(Integer.numberOfLeadingZeros("18")); ^ Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output 1 error
Publicación traducida automáticamente
Artículo escrito por ankita_chowrasia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA