位元運算子簡介
NOT (~):反相位元, 取補數.
AND (&):有0則0, a&0=0, a&1=1.
OR (|) :有1則1, a|0 =a, a^1=1.
XOR (^):有1則1, a^0=a, a^1=~a.
向右移位:(>>), a >> n 即 a 向右移 n 個 bits.
向左移位:(<<), a << n 即 a 向左移 n 個 bits.
位元運算子範例
2.1 a << 2
將a的值以二進位方式向左移2位元;0000 0011 => 0000 1100 則a的值由3變為12;即a乘以2的2次方,若向左移n位,即為a乘以2的n次方。
2.2 a >> 2
將a的值以二進位方式向右移2位元;0000 1011 => 0000 0010 則a的值由11變為2;即a除以2的2次方;若向右移n位,即為a除以2的n次方。
延伸閱讀: