位运算 只针对于二进制运算
与运算 & 只有两者为真,才能为真
或运算 | 只要一者为真,则为真
异或运算 ^ 只有两者相反,则为真
右移运算 >>
左移运算 <<
8&4<=>1000&0100=0000=0 都为1才为1
8|4<=>1000|0100=1100=12 有一位是1就为1
8^4<=>1000^0100=1100=12 两者为反时取1
8>>1= 1000 ==> 0100=4 转化为二进制右移1位
8<<1= 1000 ==> 10000=16转化为二进制左移1位
原码:1000 1010
反码:1111 0101
补码:1111 0110
经典面试题:如何让8快速变成2?
不用加减乘除,用移位运算最快 即8>>2