不能做特定的二进制操作

时间:2016-12-07 22:28:06

标签: javascript binary

我想知道是否有一种简单的方法可以使用二进制操作来执行以下操作:

第一个字节: 1001 1110

第二个字节: 0001 0011

预期结果: 1000 1100

我只想将第一个字节的所有位设置为0,其中在第二个字节中,位为1

2 个答案:

答案 0 :(得分:0)

你可以使用XOR和AND运算符这样做:

  

(A ^ B)&甲

编辑: 正如其他提到的那样你可以使用这样的AND和NOT运算符:

  

A& (〜B)

答案 1 :(得分:0)

所以如果你有:

var a = 0x9E;
var b = 0x13;

要获得预期结果,请尝试:

var c = a&(~b);

解释:在B​​上使用NOT(〜)运算符会给我们你的面具:NOT 0001 0011 => 1110 1100。使用AND运算符将此掩码应用于变量a将为变量b设置为0所需的位。