Home »
Java »
Java Reference »
Java BigInteger Class
Java BigInteger Class | andNot() Method with Example
BigInteger Class andNot() method: Here, we are going to learn about the andNot() method of BigInteger Class with its syntax and example.
Submitted by Preeti Jain, on May 10, 2020
BigInteger Class andNot() method
- andNot() method is available in java.math package.
- andNot() method is used to perform andNot operation between this BigInteger and the given BigInteger (val) [i.e. (this BigInteger) & (~BigInteger val)].
- andNot() 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.
- andNot() method does not throw an exception at the time of performing andNot operation.
Syntax:
public BigInteger andNot(BigInteger val);
Parameter(s):
- BigInteger val – represents the object to negate & perform and operation with this BigInteger.
Return value:
The return type of this method is BigInteger, it returns BigInteger and its value is calculated by using [(this BigInteger) and (~BigInteger val)].
Example:
// Java program to demonstrate the example
// of BigInteger andNot() method of BigInteger
import java.math.*;
public class AndNotOfBI {
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);
// first perform the not operation on the given BigInteger
// b_int2 and then perform and(&) operation with this BigInteger
// like 10 & (~4) so the binary representation
// of 10 is 1010 and for (~4) is 1011 so when we perform
// & operation between bits it sets 1 when both bits
// value are 1 otherwise it sets 0 so the result is
//[1010 & (~0100 = 1011) = 1010]
BigInteger andnot_val = b_int1.andNot(b_int2);
System.out.println("b_int1.andNot(b_int2): " + andnot_val);
}
}
Output
b_int1: 10
b_int2: 4
b_int1.andNot(b_int2): 10