/** * 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; } }
bitmaps位图和mask掩码常用操作
最新推荐文章于 2022-10-26 19:57:36 发布