java開發小技巧 二進位制高階 狀態位

2021-08-02 15:06:03 字數 408 閱讀 8802

/**

* 事物同時具有多種狀態工具

* 二進位制,每一位代表一種狀態,0或1,採用&,|,^ 計算

*/public class stateutils

//或,有1則1

//新增狀態,states:原有的狀態, value:要新增的狀態

public static long addstate(long states,long value)

return states | value;

}//異或,相同為0,不同為1

//移除狀態,states:原有的狀態, value:要移除的狀態

public static long removestate(long states,long value)

return states ^ value;}}

二進位製小技巧

二進位制嘛,可以加速 a 2 a 1 a 2 a 1 2 b 1 b 可以判斷一些東西 a 1 a 2 1 a 1可以求出數的乙個相鄰數 等等等等 下面我會在做題目時記錄一下位運算的技巧 這題讓我們統計區間顏色種類,種類不超過30種 那我們可以用位運算來壓縮 開乙個int,轉換成二進位制後可以清晰的...

二進位製小技巧

目錄 xx 1 xx1xx1 x x現在令 x 10101000,接下來我們算一下 x x 1 的結果。首先我們回憶一下二進位制減法的規則 0 0 1 1 0 1 0 1 0 1 1 向高位借位 例如,11000011 2 00101101 2的算式如下 11000011 被減數 00101101 ...

二進位制運算技巧

假設都在x86或x86 64架構cpu上進行運算,二進位制基本運算包括,加減乘除 與 或 異或 同或 移位等 假設n 為 32 位整形數,取正整數n除以8的餘數 n 0x07 假設n 為 32 位整形數,取正整數n除以16的餘數 n 0x0f 假設n 為 32 位整形數,8位對齊 n 7 0xfff...