二進位制 位與 或 使用

2021-07-02 13:31:09 字數 469 閱讀 2329

平時開發是狀態判斷比較麻煩,有時資料庫可能會設定多個欄位或乙個字段多個值來滿足要求。管理維護太繁瑣,最近專案中需要判斷業務流程執行狀態,我們就用二進位制位(8位)來設定流程的狀態。

當然上述所說與標題裡的位與(或)沒多大關係,接下來慢慢分析二進位制位與(或)如何使用者許可權管理。

假如:    1:許可權1;2:許可權2;4:許可權3;8:許可權4……

int num=1|2    // num許可權值( 擁有 許可權1和許可權2)

那麼如何是否有許可權3, so  可以使用num&4判斷結果是否大於0(大於0則具有許可權3否則沒有該許可權)

上述列子:

位或:1|2---->   0001    --->許可權1

0010    ---->許可權2

位與                   0011  ---->num

0100 ----->許可權3

結果很明顯,而且用起來相當方便,以前確實忽略了位運算。

二進位制位運算(與 或 異或 取反)

1.與運算 and 0 and 0 0 全1才1 1 and 0 0 0 and 1 0 1 and 1 1 用途 用來位置0,若想把ffh 11111111b,255d 第 三 五 從右往左 位置0,只需 and 11101011b 235d,e8h 2.或運算 or 0 or 0 0 全0才0 ...

二進位制與位運算

目錄常見的位運算應用 計算機中,為了方便計算,整數一般在計算機中都以補碼的形式儲存 補碼與原碼的轉換 為了演示方便,以下位運算均以8位的byte進行操作,且計算機中位運算都是以補碼的形式參與位運算 按位與同為1則位1,否則為0 按位或全0為0,否則為1 按位非直接取反,遇1則0,遇0則1 按位異或相...

二進位制位運算

與運算,6 3 2 或運算 6 3 7 異或運算 6 3 5 反碼 6 7 左移 3 2 12 3 2 2 12 右移 3 1 1 3 2 1 無符號右移 3 1 1 3 2 1 按位與,當兩位同時為1時才為1如 1 1 1 1 0 0 0 1 0 6 3相當於 0110 0011 0010 2 按...