bitmaps位圖和mask掩碼常用操作

/**
 * bitmaps位圖和 mask掩碼
 */
public class BitmapsAndMask {
    final int BIT5 = (1<<5);
    final int BIT7 = 0x80;
    final int BITS2AND3 = 12; //8+4
    int bitmap = 1234567;

    public void operate() {
        //要設置int變量中的特定一位,需將該int值與特定位對應的掩碼進行按位或操作
        bitmap |= BIT5;

        //要清空特定一位,則將該整數與特定所對應的掩碼的按位補碼(特定位爲0,其他位爲1)進行按位與操作
        bitmap &= ~BIT7;
        //也可以通過將相應的所有掩碼進行按位或操作,一次設置和清空多位:
        //clear bits 2,3 and 5
        bitmap &= ~(BITS2AND3 | BIT5);

        //要測試一個整數的特定位是否已被設置,可將該整數與特定位對應的掩碼進行按位與,然後與0進行比較
        boolean bit6Set = (bitmap & (1<<6)) != 0;
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章