& 的应用(权限值)(可以放便的进行权限值判断)
2^0=1, 相应 2 进制为 "0001" (在这里 ^ 我表示成"次方", 即: 2 的 0 次方, 下同)
2^1=2, 相应 2 进制为 "0010"
2^2=4, 相应 2 进制为 "0100"
2^3=8, 相应 2 进制为 "1000"
...
要判断一个数在某些数范围内就可以使用 & 运算符(数值从上面的表中得来)
如: 7=4|2|1 (你也可以简单理解成 7=4+2+1)
用 & 来操作,可以知道 7&6、7&5、7&4、7&3 、7&2、7&1 都是真的,而如果 7&8 则是假的
判断权限使用 & (是, 返回非 0; 不是, 返回 0)
Java hashMap 中的实现用的了与巧妙的避开了除法取余的效率问题,可查阅相关资料。
判断两个字符串是否为子串也可以用或跟与来解决。
^ 的应用(交换值)
找出重复数
解法: 全部异或