位运算符

注:位运算是直接对整数的二进制进行的运算
没有<<<这个运算符


练习
唯一存在的数字
给定一个非空的整数数组,在该数组中,有一个元素只出现了一次,其余元素均出现了两次,请找出只出现过一次的元素。
int ans = 0;for(int i = 0; i < nums.length; i++){ans ^= nums[i];}return ans;
加密的情书
我和隔壁班的系花妹妹谈恋爱,为了让她记住我的生日,每次传情书我都要用九键拼音输入法加密成数字,再经过我生日的加密发给她,我的生日是 '19990606' ,加密方式将密文与我的生日进行 异或 运算。现在要对输入的字符串进行加密,给一串数字,通过与我生日 异或 运算进行加密后输出。
import java.util.*;import java.math.BigInteger;public class Main {public static void main(String[] args){Scanner s = new Scanner(System.in);BigInteger s1 = new BigInteger(s.nextLine());BigInteger b = BigInteger.valueOf(19990606);BigInteger x = b.xor(s1);System.out.println(x);}}
