位操作:将未知数字的位设置为0

时间:2014-03-24 21:53:39

标签: binary bit-manipulation

我们假设您有一个8位长的二进制数。你不知道它是什么。

xxxx xxxx

我想将第4位设置为0.我该怎么做?

如果我知道x的值,我可以去

xxxx xxxx 和 xxxx 0xxx

但我不知道x的值。如何在不知道价值的情况下做到这一点?

谢谢。

3 个答案:

答案 0 :(得分:3)

xxxx xxxx AND 1111 0111

这里的按位AND运算符不会"打开" " off"在左边;它只能"关闭"否则" on"。无论输入如何,这都将保证第4位是"关闭#34;

详细说明:

1 AND 1 => 1
0 AND 1 => 0
1 AND 0 => 0
0 AND 0 => 0

因此,通过设置每个位" on"在右边的数字中,你保证那些将会留在"留在"或者"保持关闭" - 即他们不会被改变。但是你设置的那个" off"在右边,无论左边是什么,总是" off"

答案 1 :(得分:1)

我必须过度。无论如何你可以和操作。

1和1 = 1,

1和0 = 0

x和0 = 0

x和1 = x

冷却。

答案 2 :(得分:0)

AND 1111 0111

其他位,你想保持不变的位不会改变。