Calcule la división del módulo por un número de potencia de 2 usando Wrapper Class

Requisito previo: Calcular la división del módulo por una potencia de 2 números

Ahora, como sabe, para obtener n módulo 2 k , solo necesitamos devolver k bits (desde LSB) en representación binaria de n. En Java, puede usar el método Wrapper class toBinaryString() para obtener una representación de string binaria de un número y obtener una substring desde (str.length()-k) hasta el final. Y luego, al usar Integer.parseInt() , puede convertir esta substring binaria en un número que es el resto. A continuación se muestra el programa Java para demostrar lo mismo.

// Java program to Compute modulus
// division by a power-of-2-number
  
class Test
{
    // Driver method
    public static void main(String[] args) 
    {
        int num = 15;
          
        int two_power1 = 1;
        int two_power2 = 2;
        int two_power3 = 3;
          
        String binary = Integer.toBinaryString(num);
        int len = binary.length();
          
        String rem1 = binary.substring(len-two_power1);
        String rem2 = binary.substring(len-two_power2);
        String rem3 = binary.substring(len-two_power3);
          
        int reme1 = Integer.parseInt(rem1, 2);
        int reme2 = Integer.parseInt(rem2, 2);
        int reme3 = Integer.parseInt(rem3, 2);
          
        System.out.println(num + "%" + "2^(" + two_power1 + ") = " + reme1);
        System.out.println(num + "%" + "2^(" + two_power2 + ") = " + reme2);
        System.out.println(num + "%" + "2^(" + two_power3 + ") = " + reme3);
    }
}

Producción:

15%2^(1) = 1
15%2^(2) = 3
15%2^(3) = 7

Este artículo es una contribución de Gaurav Miglani . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *