- |=:两个二进制对应位都为0时,结果等于0,否则结果等于1;
- &=:两个二进制的对应位都为1时,结果为1,否则结果等于0;
- ^=:两个二进制的对应位相同,结果为0,否则结果为1。
提示:
大写变小写,小写变大写
格式:字符^=32;(^(异或):相同为0,不同为1)
统一小写
格式:字符|=32;(|(或):全0为0,有1就为1)
统一大写
格式:字符&=-33;(&(与):有0就为0,全1为1;)
n&1
- 这里 n&1 就是——判断n是否为奇数
因为n为奇数时,对应的二进制数最低位一定为1,n&1的结果就是1
n为偶数时,相应的最低位为0,n&1的结果就是0.
n & (n−1),其预算结果恰为把 n 的二进制位中的最低位的 1 变为 0 之后的结果。
如:6&(6−1)=4,6=(110)2,4=(100)2 6 & (6−1)=4,6=(110) 2 ,4=(100) 2,运算结果 4 即为把
6 的二进制位中的最低位的 1 变为 0 之后的结果。