📜  Java中的 BigInteger andNot() 方法

📅  最后修改于: 2022-05-13 01:55:40.051000             🧑  作者: Mango

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)