# Java BigInteger Class | shiftRight() Method with Example

BigInteger Class shiftRight() method: Here, we are going to learn about the shiftRight() method of BigInteger Class with its syntax and example.
Submitted by Preeti Jain, on May 11, 2020

## BigInteger Class shiftRight() method

• shiftRight() method is available in java.math package.
• shiftRight() method is used to shift the given number of bits to the right in this BigInteger.
• shiftRight() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
• shiftRight() method may throw an exception at the time of shifting bits.
ArithmeticException: This exception may throw when the given parameter value holds Integer.MIN_VALUE.

Syntax:

```    public BigInteger shiftRight(int number);
```

Parameter(s):

• int number – represents the value in bits and when it holds negative value it performs left shift instead of right.

Return value:

The return type of this method is BigInteger, it returns BigInteger that holds the value [(this BigInteger) >>(number)].

Example:

```// Java program to demonstrate the example
// of BigInteger shiftRight(int number) method of BigInteger

import java.math.*;

public class ShiftRightOfBI {
public static void main(String args[]) {
// Initialize a variable str
// number1 and number2
String str = "20";
int number1 = 1;
int number2 = -1;

// Initialize a BigInteger object
BigInteger b_int = new BigInteger(str);

// Display b_int
System.out.println("b_int: " + b_int);

// shifts the given number of bits
// to the right in this BigInteger b_int so
// the value 20 << 1  it is 1/2 times the given
// value of b_int when the given number is +ve
// i.e. 20/2 = 10
BigInteger shift_right = b_int.shiftRight(number1);
System.out.println("b_int.shiftRight(+number1): ");
System.out.println("b_int.shiftRight(+number1): " + shift_right);

System.out.println();

// shifts the given number of bits
// to the right in this BigInteger b_int so
// the value 20 << -1  it is 2 times the given
// value of b_int when the given number is -ve
// i.e. 20*2 = 40
shift_right = b_int.shiftRight(number2);
System.out.println("b_int.shiftRight(-number2): ");
System.out.println("b_int.shiftRight(-number2): " + shift_right);
}
}
```

Output

```b_int: 20
b_int.shiftRight(+number1):
b_int.shiftRight(+number1): 10

b_int.shiftRight(-number2):
b_int.shiftRight(-number2): 40
```