0%

bit operator in C language

在C語言中做邏輯判斷時經常會用到邏輯運算子(&&、|| 等),但還有一種位元運算子新手經常會搞混,與邏輯運算子不同,位元運算子是針對位元來做邏輯判斷,而這篇來簡單整理C語言中的位元運算子:

運算子

  1. and: &
  2. or: |
  3. xor: ^
  4. left shift: <<
  5. right shift: >>
  6. not: !

真值表

and 0 1
0 0 0
1 0 1
or 0 1
0 0 1
1 1 1
xor 0 1
0 1 0
1 0 1
not 0 1
1 0

left shift and right shift

  • left shift: 0011 << 1 => 1100
  • right shift: 1100 >> 1 => 0011

剛好作業有用到,算是紀錄一下,之後可能也會多少寫一些C的東西這樣。