给定一整数:
int num;
给定一掩码:
int mask; 其中mask中某一位为1,其余为0,这一位对应num中需要被取反的位。
方法如下:
num =
(num & (~mask)) // 保存除取反位外的其它位
|
(num ^ mask) // 所有位取反,也就是异或
所以,需要取反的位取反了,且其余位不变
给定一整数:
int num;
给定一掩码:
int mask; 其中mask中某一位为1,其余为0,这一位对应num中需要被取反的位。
方法如下:
num =
(num & (~mask)) // 保存除取反位外的其它位
|
(num ^ mask) // 所有位取反,也就是异或
所以,需要取反的位取反了,且其余位不变