prerequisite : BigInteger Basics
The java.math.BigInteger.shiftRight(int n) method returns a BigInteger whose value is (this >> n). The shift distance, n, may be negative, in which case this method performs a left shift. The shiftRight() method will move each digit in a number’s binary representation right by n times and the last bit in the direction of the shift is replaced by 0. This shiftRight() method Computes floor(this / 2^n).
Syntax:
public BigInteger shiftRight(int n)
Parameter: The method takes one parameter n of integer type which refers to the shift distance in bits.
Return Value: The method returns the BigInteger after shifting the bits to right by n times.
Exceptions: The method might throws an ArithmeticException if the shift distance is an Integer.MIN_VALUE.
Examples:
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
Below program illustrates shiftRight(index) method of 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
Reference: https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#shiftRight(int)
