首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 位運算符詳解:按位或/與/異或/左移/右移/取反 真值表與範例

     編輯:MySQL 綜合教學

MySQL 位運算符詳解

位運算符直接操作二進制位,適用於權限掩碼、標誌位存儲、高效集合運算等場景。

運算符對照表

符號名稱範例結果 (二進制→十進制)
|按位或 OR10 | 151010 | 1111 = 1111 → 15
&按位與 AND10 & 151010 & 1111 = 1010 → 10
^按位異或 XOR10 ^ 151010 ^ 1111 = 0101 → 5
<<左移1 << 20001 → 0100 → 4
>>右移16 >> 210000 → 00100 → 4
~按位取反 NOT5 & ~10101 & ...1110 = 0100 → 4

關鍵特性

  • MySQL 位運算結果為 64 位無符號整數 (BIGINT UNSIGNED)。
  • ~1 會將 64 位全翻轉,最低位變 0,其餘變 1,故 5 & ~1 清除最低位。
  • SELECT BIN(~1) 可查看 64 位二進制表示。

實用技巧

  • 權限位掩碼:permission & MASK 判斷是否擁有權限。
  • 快速乘除 2 的冪:x << n 相當於 x * 2^n;x >> n 相當於 x / 2^n (整數除法)。
  • 切換旗標:flags ^ BIT 翻轉特定位。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved