Método BigInteger shiftRight() en Java

requisito previo: Conceptos básicos de BigInteger

El método java.math.BigInteger.shiftRight(int n) devuelve un BigInteger cuyo valor es (this >> n). La distancia de desplazamiento, n, puede ser negativa, en cuyo caso este método realiza un desplazamiento a la izquierda. El método shiftRight() moverá cada dígito en la representación binaria de un número n veces hacia la derecha y el último bit en la dirección del cambio se reemplaza por 0. Este método shiftRight() calcula el piso (este / 2^n).

Sintaxis:

public BigInteger shiftRight(int n)

Parámetro: El método toma un parámetro n de tipo entero que se refiere a la distancia de desplazamiento en bits.

Valor devuelto: el método devuelve el BigInteger después de desplazar los bits a la derecha n veces.

Excepciones: el método puede generar una ArithmeticException si la distancia de desplazamiento es Integer.MIN_VALUE.

Ejemplos:

Input: BigInteger = 2300, n = 3
Output: 287
Explanation:
Binary Representation of 2300 = 100011111100
Shift distance, n = 3. 
After shifting 100011111100 right 3 times,
Binary Representation becomes 100011111
and Decimal equivalent of 100011111 is 287.

Input: BigInteger = 35000, n = 5
Output: 1093

El siguiente programa ilustra el método shiftRight(index) de BigInteger:

// Program to demonstrate shiftRight()
// method of BigInteger 
  
import java.math.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Create BigInteger object
        BigInteger biginteger = new BigInteger("2300");
  
        // Create a int i for Shift Distance
        int i = 3;
  
        // Call shiftRight() method on bigInteger at index i
        // store the return value as BigInteger
        BigInteger changedvalue = biginteger.shiftRight(i);
  
        String result = "After applying shiftRight by Shift Distance " + i + 
        " on " + biginteger + " New Value is " + changedvalue;
  
        // Print result
        System.out.println(result);
    }
}
Producción:

After applying shiftRight by Shift Distance 3 on 2300 New Value is 287

Referencia: https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#shiftRight(int)

Publicación traducida automáticamente

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