-
與 &
按位對(duì)比兩個(gè)二進(jìn)制數(shù)笋熬,如果對(duì)應(yīng)的位都為 1满俗,則結(jié)果為 1,否則為 0
1 & 3 == 1
9 & 8 == 8
-
或 |
按位對(duì)比兩個(gè)二進(jìn)制數(shù)淋样,如果對(duì)應(yīng)的位有一個(gè) 1狈定,則結(jié)果為 1,否則為 0
(1 | 3) == 3
-
異或 ^
按位對(duì)比兩個(gè)二進(jìn)制數(shù)习蓬,如果對(duì)應(yīng)的位有且只有一個(gè) 1,則結(jié)果為 1措嵌,否則為 0
(1 ^ 3) == 2
非 ~
按位對(duì)操作的二進(jìn)制數(shù)取反躲叼,即 1 變 0,0 變 1企巢,任何數(shù)的非運(yùn)算符計(jì)算結(jié)果都是 -(x + 1)
一個(gè)數(shù)和它的取反數(shù)相加的結(jié)果總為 -1-
左移 <<
左移會(huì)將二進(jìn)制值的有效位數(shù)全部左移指定位數(shù)枫慷,被移出的高位(最左邊的數(shù)字)丟棄,但符號(hào)會(huì)保留浪规,低位(最右邊的數(shù)字)會(huì)自動(dòng)補(bǔ)0
1 << 2 == 4
-
右移 >>
和左移相反的操作或听,將二進(jìn)制的操作數(shù)右移指定位數(shù),高位補(bǔ)0笋婿,低位丟棄
4 >> 2 == 1