解释一下 JavaScript 中的按位运算符?

javascriptobject oriented programmingprogramming

按位运算符包括 AND、OR、XOR。我们来分别讨论一下。

a) AND 运算符

示例

<html>
<body>
<p id="and"></p>
<script>
document.getElementById("and").innerHTML = 13 & 1;
</script>
</body>
</html>

输出

1

解释:当同一位置有两个 1 时,按位与运算得出的值为 1。在上面的例子中,二进制 1101 中的 13 和二进制 0001 中的 1。因此,比较两者时,我们在第一个位置只有一个共同的 1。因此值为 0001,即 1。

b) 或运算符

示例

<html>
<body>
<p id="or"></p>
<script>
   document.getElementById("or").innerHTML = 5 || 1;
</script>
</body>
</html>

输出

5

解释:当其中一个数字为 1 时,按位或运算结果为 1。在上面的例子中,5 的按位表示法为 0101,而 1 为 0001,因此值将为 0101,即 5。

c) XOR 运算符

示例

<html>
<body>
<p id="xor"></p>
<script>
document.getElementById("xor").innerHTML = 5 ^ 1;
</script>
</body>
</html>

输出

4

解释:按位异或运算在位不同时返回 1,否则返回 0。在上面的例子中,5 位表示法为 0101,1 为 0001。因此结果为 0100,即 4。


相关文章