首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言位運算符詳解:與、或、異或、取反、移位及實戰技巧

     編輯:關於C語言

C語言位運算符詳解:與、或、異或、取反、移位及實戰技巧

1. 按位與 &

  • 規則:同為 1 才為 1。1010 & 0111 = 0010 (10 & 7 = 2)。
  • 應用:判斷奇偶 a & 1(最低位為 1 即奇數)。

2. 按位或 |

  • 規則:有 1 即為 1。1010 | 0111 = 1111 (10 | 7 = 15)。

3. 按位異或 ^

  • 規則:相異為 1。1010 ^ 0111 = 1101 (10 ^ 7 = 13)。
  • 應用:無臨時變量交換兩數:
    a = a ^ b; b = a ^ b; a = a ^ b;
    基於 x^x=0、x^0=x、交換律。

4. 按位取反 ~

  • 逐位翻轉。~1010 = ...0101(視整數位寬)。

5. 移位運算 <<、>>

  • 左移 n 位 ≈ 乘 2^n(低位補 0,高位丟棄)。
  • 右移 n 位 ≈ 除 2^n(算術右移保持符號位)。
  • 性能優化:乘除 2 的冪次優先用移位。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved