问题
如何将最低有效位更改为0而不影响值的其余部分,例如:0xffffffff,例如在C或Python中?我不是一个数学天才,所以对我来说,要找到如何做到这一点是一件很麻烦的事。
解决方案

n = 0 // clear this bit
0xffffffff &= ~(1U << n) = 0xfffffffe

最佳答案

尝试清除最低有效位:

int x = 0xffffffff;

...

/* clear least significant bit */
x &= ~1;

设置LSB
int x = 0xffffffff;

...

/* set least significant bit */
x |= 1;

更改LSB
int x = 0xffffffff;

...

/* change least significant bit */
x ^= 1;

如果您想设置/清除/更改位n,请将1更改为(1U<<n)

10-08 12:02