Java中的 BigInteger andNot() 方法
Java.math.BigInteger.andNot(BigInteger val)方法返回一个 BigInteger,其值为 (this & ~val) 其中this为当前使用函数的 BigInteger, val是作为参数传递给函数的 bigInteger .此方法等效于 and(val.not()),是为了方便屏蔽操作而提供的。当且仅当 this 为负且 val 为正时,此方法返回负 BigInteger。 andNOT() 方法对当前 bigInteger 和作为参数传递的 bigInteger 的 NOT 值应用按位与运算。
句法:
public BigInteger andNot(BigInteger val)
参数:该方法接受一个参数val BigInteger 类型,并引用需要与当前 BigInteger 进行补码和 AND 运算的值。
返回值:该方法用于返回 (this & ~val) 其中this到正在使用该函数的当前 BigInteger,而val是作为参数传递给函数的 bigInteger。
例子:
Input: value1 = 2300, value2 = 3400
Output: 180
Explanation:
Binary of 2300 = 100011111100
Not of 3400 in binary signed 2's complement is 1111001010110111
AND of 100011111100 and 1111001010110111= 10110100
Decimal of 10110100 = 180.
Input: value1 = 432045, value2 = 321076
Output: 135561
下面的程序说明了 BigInteger 的 andNot() 方法。
/*
*Program Demonstrate notNot() method of BigInteger
*/
import java.math.*;
public class GFG {
public static void main(String[] args)
{
// Create 2 BigInteger objects
BigInteger biginteger = new BigInteger("2300");
BigInteger val = new BigInteger("3400");
// Call andNot() method to find this & ~val
BigInteger finalvalue = biginteger.andNot(val);
String result = "Result of andNot operation between " +
biginteger + " and "+ val + " is " + finalvalue;
// Print the result
System.out.println(result);
}
}
输出:
Result of andNot operation between 2300 and 3400 is 180
参考: https: Java Java.math.BigInteger)