- 1. and(&)運算 (按位與)
and運算通常用於二進制取位操作,例如一個數 and 1的結果就是取二進制的最末位。這可以用來判斷一個整數的奇偶,二進制的最末位爲0表示該數爲偶數,最末位爲1表示該數爲奇數.
口訣:兩個數字都爲1,則爲1,其他都爲0.
00111
11100
(&或者and)
----------------
00100
- 2. or(|)運算 (按位或)
or運算通常用於二進制特定位上的無條件賦值,例如一個數or 1的結果就是把二進制最末位強行變成1。如果需要把二進制最末位變成0,對這個數or 1之後再減一就可以了,其實際意義就是把這個數強行變成最接近的偶數。
口訣:相同位只要有一位1,則最終爲1。
00111
11100
(|或者or)
----------------
11111
- 3. xor(^)運算 (按位異或)
異或的符號是⊕。
口訣:相同位不同則爲1(例如1,0則爲1),相同則爲0(例如1,1則爲0),
00111
11100
(^或者xor)
----------------
11011
- 4.~取反
就是如果是00111,則變爲11000 (按位取反)
~是按位取反的意思.
- 5.>>是右移位運算
右移1位即除以2的1次方;並且取整。
m_Height>>4相當於:
m_Height/16
- 6.<<是左移位運算
若左移一位,相當於乘以2的一次方。