Java.lang.Integer.numberOfTrailingZeros () es el método que devuelve el número total de cero (0) bits siguiendo el orden más bajo (es decir, el bit «1» más a la derecha o menos significativo) un bit en la representación binaria de 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 bajo y devuelve no. de cero bits que le sigue. Si el valor entero especificado no tiene bits uno en su representación de complemento a dos, en otras palabras, si es igual a cero, devolverá 32.
Sintaxis:
public static int numberOfTrailingZeros(int a)
Parámetro: El parámetro a es un valor entero.
Valor devuelto: este método devuelve el número de bits cero que siguen al bit de orden más bajo o al bit establecido en la representación binaria en complemento a dos del valor int especificado, o 32 si el valor es igual a cero.
Explicación
- Considere un número entero a = 170
- Representación binaria = 10101010
- El bit más bajo = 2
- Número de ceros finales = 1
Los siguientes programas ilustran el método Java.lang.Integer.numberOfTrailingZeros().
Programa 1: Para un número positivo.
// Java program to illustrate the // Java.lang.Integer.numberOfTrailingZeros() method import java.lang.*; public class TrailingZeros { public static void main(String[] args) { int a = 155; System.out.println("Integral Number = " + a); // Returns the number of zero bits following the lowest-order //rightmost one-bit System.out.print("Number of Trailing Zeros = "); System.out.println(Integer.numberOfTrailingZeros(a)); a = 24; System.out.println("Integral Number = " + a); // Returns the number of zero bits following the lowest-order //rightmost one-bit System.out.print("Number of Trailing Zeros = "); System.out.println(Integer.numberOfTrailingZeros(a)); } }
Integral Number = 155 Number of Trailing Zeros = 0 Integral Number = 24 Number of Trailing Zeros = 3
Nota: Aquí, el número de ceros finales es igual a 0 para 155, esto se debe a que en la representación binaria 10011011 no hay ningún cero que siga al bit de orden más bajo (es decir, el bit «1» más a la derecha o menos significativo).
Programa 2: Para un número negativo.
// Java program to illustrate the // Java.lang.Integer.numberOfTrailingZeros() method import java.lang.*; public class TrailingZeros { public static void main(String[] args) { int a = -1; System.out.println("Integral Number = " + a); // Returns the number of zero bits following the lowest-order //rightmost one-bit System.out.print("Number of Trailing Zeros = "); System.out.println(Integer.numberOfTrailingZeros(a)); a = -90; System.out.println("Integral Number = " + a); // Returns the number of zero bits following the lowest-order //rightmost one-bit System.out.print("Number of Trailing Zeros = "); System.out.println(Integer.numberOfTrailingZeros(a)); } }
Integral Number = -1 Number of Trailing Zeros = 0 Integral Number = -90 Number of Trailing Zeros = 1
Programa 3: Para un valor decimal.
Nota: Devuelve un mensaje de error cuando se pasa un valor decimal como argumento.
// Java program to illustrate the // Java.lang.Integer.numberOfTrailingZeros() method import java.lang.*; public class TrailingZeros { public static void main(String[] args) { System.out.println("Number of trailing zeros = "+ Integer.numberOfTrailingZeros(12.66)); } }
Producción:
prog.java:10: error: incompatible types: possible lossy conversion from double to int Integer.numberOfTrailingZeros(12.66)); ^ Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output 1 error
Programa 4: Para un valor de string.
Nota: devuelve un mensaje de error cuando se pasa un valor de string como argumento.
// Java program to illustrate the // Java.lang.Integer.numberOfTrailingZeros() method import java.lang.*; public class TrailingZeros { public static void main(String[] args) { System.out.println("Number of trailing zeros = " + Integer.numberOfTrailingZeros("12")); } }
Producción:
prog.java:10: error: incompatible types: String cannot be converted to int + Integer.numberOfTrailingZeros("12")); ^ 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