位运算用法及实例
&与 两个都为1 是1 其他都是0
用于二进制取位 比如 一个数&1 就是取二进制的最末位
可以用来判断数的奇偶,取到的数若为奇数为1 偶数取到的是0
^异或 不同为1 相同为0
两次异或同一个数的 结果不变 abb=a
一般用于简单的加密 原数据与密钥异或一下成新数据运输 新数据再与密钥异或解密
也可以用于两个数的交换 不需要中间变量
| 或 有一个1就是1
用于二进制特定位上的强制赋值 比如一个数|1 就是把最末位强行变1
~取反 0变1 1变0
用的时候要注意整数类型有没有符号 如果无符号 结果就是他与他的上界的差值
<<左移 对二进制a左移x位 就是 在a后加x个0 相当于a*2x
>>右移 对二进制a右移x位 相当于 a除以2x