# Java BigInteger Class | xor() Method with Example

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

## BigInteger Class xor() method

• xor() method is available in java.math package.
• xor() method is used to perform xor operation between this BigInteger and the given BigInteger and we all know when we perform xor so same bits represent 0 and different bits represents 1 and it returns negative BigInteger when any one of the value in [(this BigInteger) , (BigInteger val)] is negative.
• xor() 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.
• xor() method does not throw an exception at the time of performing xor.

Syntax:

```    public BigInteger xor(BigInteger val);
```

Parameter(s):

• BigInteger val – represents the value to perform xor with this BigInteger.

Return value:

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

Example:

```// Java program to demonstrate the example
// of BigInteger xor(BigInteger val) method of BigInteger

import java.math.*;

public class XOROfBI {
public static void main(String args[]) {
// Initialize two variables str1 and str2
String str1 = "10";
String str2 = "4";

// Initialize two BigInteger objects
BigInteger b_int1 = new BigInteger(str1);
BigInteger b_int2 = new BigInteger(str2);

System.out.println("b_int1: " + b_int1);
System.out.println("b_int2: " + b_int2);

// Here, this method xor(BigInteger) is used to
// perform xor (^) operation between
// this BigInteger b_int1 and the given BigInteger
// b_int2 like 10 ^ 4 so the binary representation
// of 10 is 1010 and for 4 is 0100 so when we perform
// (^) operation between bits it sets 1 when both the bits
// value are different otherwise it sets 0 so the result is
// (1010 ^ 0100 = 1110)
BigInteger xor_val = b_int1.xor(b_int2);
System.out.println("b_int1.xor(b_int2): " + xor_val);
}
}
```

Output

```b_int1: 10
b_int2: 4
b_int1.xor(b_int2): 14
```