慕姐4208626
& 是做逻辑与运算比如 1 & 1 = 12 & 1 = 0 (10 & 01 = 00)|是坐逻辑或运算1|1 = 12 | 1 = 3 (10 | 01 = 11)>> 是右移位运算 相等于除以2<< 是左移位,相等于乘以2追问那它们都是怎么运算的呢?追答都是给整数的运算
&和|
都是把左右两边变成二进制,然后逐位进行运算
>>和<<也是变成二进制,然后往左边和右边移位
比如
17和13
17 二进制是 10001
13二进制是 01101
17 & 13 = 10001 & 01101 = 00001 也就是1
17 | 13 = 10001 | 01101 = 11101 也就是 29
17>> 就是10001 右移位 变成 01000 就变成8了
17<< 就是10001 左移位 变成100010 变成34 了