| 
 
| BigInteger integer = new BigInteger("12"); 
 // gcd(BigInteger val)
 // 返回一个 BigInteger,其值是 abs(this) 和 abs(val) 的最大公约数
 BigInteger gcd = integer.gcd(new BigInteger("20"));
 System.out.println(gcd);
 
 // intValue()
 // 将此 BigInteger 转换为 int。
 int i = integer.intValue();
 System.out.println(i);
 
 // shiftLeft(int n)   乘以2
 // 返回其值为 (this << n) 的 BigInteger。
 BigInteger left = integer.shiftLeft(1);
 System.out.println(left.intValue());
 
 // shiftRight(int n)  除以2
 // 返回其值为 (this >> n) 的 BigInteger
 BigInteger right = integer.shiftRight(1);
 System.out.println(right.intValue());
 
 // toByteArray()
 // 返回一个 byte 数组,该数组包含此 BigInteger 的二进制补码表示形式。
 byte[] bytes = integer.toByteArray();
 System.out.println(Arrays.toString(bytes));
 
 // xor(BigInteger val)
 // 返回其值为 (this ^ val) 的 BigInteger。   12 ^ 123 ^ 123 = 12
 BigInteger xor = integer.xor(BigInteger.valueOf(123));
 BigInteger bigInteger = xor.xor(BigInteger.valueOf(123));
 System.out.println(xor);
 System.out.println(bigInteger);
 
 // valueOf(long val)
 // 返回其值等于指定 long 的值的 BigInteger
 BigInteger valueOf = BigInteger.valueOf(123456678);
 System.out.println(valueOf);
 | 
 |