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); } }
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