0: false / 正数最高位符号
1:true / 负数最高位符号
>> vs >>>:
>>算数右移最高位正0负1
>>>逻辑右移最高位补0 负数会变成正数
高效的算出2*8
2 * 8 == 2 * (2^3) == 2 << 3;
^ 异或:
相同0 不同1
快速交换两个数:
i = i ^ j;
j = i ^ j; // j = i ^ j ^ j; -> j = i;
i = i ^ j; // i = i ^ j ^ i; -> i = j;
//i ^= j; j ^= i; i ^= j;