BigInteger类的xor()方法 (BigInteger Class xor() method)
xor() method is available in java.math package.
xor()方法在java.math包中可用。
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()方法用于在此BigInteger与给定的BigInteger之间执行xor运算,我们都知道执行xor时,相同的位表示0,不同的位表示1,并且当[[ BigInteger),((BigInteger val)]为负。
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()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
xor() method does not throw an exception at the time of performing xor.
xor()方法在执行xor时不会引发异常。
Syntax:
句法:
public BigInteger xor(BigInteger val);
Parameter(s):
参数:
BigInteger val – represents the value to perform xor with this BigInteger.
BigInteger val –表示要对此BigInteger执行xor的值。
Return value:
返回值:
The return type of this method is BigInteger, it returns BigInteger that holds the value [(this BigInteger) xor (BigInteger val)].
此方法的返回类型为BigInteger ,它返回保存值[(this BigInteger)xor(BigInteger val)]的BigInteger。
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
翻译自: https://www.includehelp.com/java/biginteger-xor-method-with-example.aspx