&(按位與)

定義:針對二進制,只要有一個為0,就為0。2 & 5 = 02的二進制:00000000 00000000 00000000 000000105的二進制:00000000 00000000 00000000 00000101

|(按位或)

定義:針對二進制,只要有一個為1,就為1。2 | 5 = 72的二進制:00000000 00000000 00000000 000000105的二進制:00000000 00000000 00000000 00000101

^(按位亦或)

定義:針對二進制,相同的為0,不同的為1。2 ^ 5 = 72的二進制:00000000 00000000 00000000 000000105的二進制:00000000 00000000 00000000 000001012 ^ 3 = 12的二進制:00000000 00000000 00000000 000000103的二進制:00000000 00000000 00000000 00000011

~(按位非)

定義:按位取反運算符翻轉操作數的每一位,即0變成1,1變成0。~8 = -98的二進制:00000000 00000000 00000000 00000100~8的二進制:11111111 11111111 11111111 11110111因為高位是1,所以該數為負數。<font color ="#CC0000">負數的補碼是其絕對值的原碼取反,末尾再加1。</font>末尾減1得反碼:11111111 11111111 11111111 11110110將反碼取反:00000000 00000000 00000000 00001001 = 9

<<(向左位移)

定義:針對二進制,轉換成二進制后向左移動3位,后面用0補齊。3 << 1 = 63的二進制:00000000 00000000 00000000 000000113左移后進制數:00000000 00000000 00000000 00000110

>>(向右位移)

定義:針對二進制,轉換成二進制后向右移動3位。3 >> 1 = 13的二進制:00000000 00000000 00000000 000000113右移后進制數:00000000 00000000 00000000 00000001

>>>(無符號右移)

定義:忽略符號位,空位都以0補齊。-1 >>> 1 = 2147483647-1的二進制(補碼表示法):11111111 11111111 11111111 11111111右移后:01111111 11111111 11111111 11111111