倒数第二位? int has 32 bits, Do you mean 倒数第二bit位?
int i=11; //1011
i & 0xfffffffd //倒数第二bit位置0, result is 9
i=8; //1000
i | 0x02 //倒数第二bit位置1, result is 10
int i=11; //1011
i & 0xfffffffd //倒数第二bit位置0, result is 9
i=8; //1000
i | 0x02 //倒数第二bit位置1, result is 10
要设置哪一位为0的话,使用 '&' 运算符。
例子:
o 把一个整数低24为设置为全0,高八位保持不变:
Random rd = new Random();
int x = rd.nextInt(100);
x &= 0xff000000;
o 把一个整数的第七位设置为1,其余位保持不变:
Random rd = new Random();
int x = rd.nextInt(100);
x |= 0x80;