#include <stdio.h>
int toggleFifthBit(int n) {
// Write your code here
return n ^ (1 << 5);
}
int main() {
int n;
scanf("%d", &n);
printf("%d", toggleFifthBit(n));
return 0;
}
Solving Approach
在处理 Bit Manipulation 时,“翻转”操作对应的标准运算符是 XOR
如果同一个 Mask 在代码中多处被使用,定义一次可以减少出错概率,方便统一修改。如果 Mask 的构造非常复杂(涉及多个位的组合),先定义变量有助于调试(Debug),你可以在 IDE 中直接观察到 mask 变量的值。
#define SENSOR_EN_BIT (1 << 5) return n ^ SENSOR_EN_BIT;