PHP之mysql位運算案例講解

2022-09-25 07:03:10 字數 830 閱讀 5950

位運算,賦值狀態時異或對應位數1的整形,判斷狀態則與運算對應位數1的整形。最大用處就是同時判斷32位狀態,節省儲存空間,便於擴充套件,

如果你不知道什麼是位運算的話, 那麼請你先去看看基礎的c語言教程吧。

與運算 a & b  ,

或運算 a | b , 

異或運算 a ^ b ,

或者你也可以將 與運算理解為 + 法 

例如1|2 = 3   (1+2 = 3)

1|2|4 = 7 (1+2+4 = 7)

將 異或運算理解為 - 法

例如3^2 = 1 (3-2 = 1)

3^1 xrbmkotoe= 2  (3-1 = 2)

最後將 與運算 作為判斷

例如3&2 = 1    (3 = 1 + 2, 由 1和2組成 ,所以判斷3&2 = 1 ) 

3&4 = 0   ( 3 沒有由 4組成,所以判斷3&4 = 0)

那麼位運算有何用程式設計客棧處呢, 例如 unix系統中的許可權, 通常我們所知  許可權分為  r 讀, w 寫, x 執行,其中 它們的權值分別為4,2,1, 所以 如果使用者要想擁有這三個許可權 就必須  chomd 7  , 即 7=4+2+1 表明 這個使用者具有rwx許可權,如果只想這個使用者具有r,x許可權 那麼就 chomd 5即可

說道此處就程式設計客棧要涉及到資料庫了。

通常 我們的資料表中 可能會包含各種狀態屬性, 例如 blog表中 , 我們需要有欄位表示其是否公開,是否有設定密碼,是否被管理員封鎖,是否被置頂等等。 也會遇到在後期運維中,策劃要求增加新的功能而造成你需要增加新的字段。

這樣會造成後期的維護困難,資料庫增大,索引增大的情況。 這時使用位運算就可以巧妙的解決。

位運算案例

概述 在二進位制計算中,最常見的就是位運算了。而位運算也經常出現在各位大神的原始碼當中,在研讀了snowflake演算法以後。本篇持續更新!基本運算,定死乙個值為max 8位demo 最大值 1111 1111 最小值 0000 0000 設x max y x 則有下列規律可言 與運算 同時為1則結...

PHP匿點之位運算按位取反

我們看示例 a 8 var dump a 先不要看結果,試想下結果是多少?然後我們執行下看看,納尼?和我們設想的不一樣,奇怪了 什麼原因呢 於是我們翻看php中文手冊 a not 按位非 將 a 中為 0 的位設為 1,反之亦然。我只是簡單的理解為 0變1,1變0。原來按位取反以十進位制輸出並不是簡...

mysql 位運算 MySQL資料運算

資料查詢不只是簡單地返回資料庫中儲存的資料,還要根據業務需求對資料進行運算和篩選,以及確定以什麼樣的形式顯示查詢結果。通常情況下資料庫中的原始資料並不是我們所需要的,一般需要我們在查詢資料的同時對資料進行運算和轉換。語法 select 表示式1 表示式2 表示式n from 表名 示例 將每位員工的...