Método Integer.numberOfTrailingZeros() en Java con ejemplo

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));
      
}
}
Producción:

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));
      
}
}
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *