JavaScript - 位运算符

原创
admin 4个月前 (08-06) 阅读数 29 #JavaScript

JavaScript 位运算符详解

JavaScript中的位运算符允许开发者在二进制级别对整数进行操作。这些运算符直接处理数值的每一位,与逻辑运算符类似但作用于单个比特位。

位运算符概述

JavaScript中的位运算符会将操作数转换为32位有符号整数进行运算,运算完成后再转换回64位浮点数。以下是JavaScript支持的7种位运算符:

运算符 名称 描述
& 按位与 两位都为1时结果为1
| 按位或 任一位为1时结果为1
^ 按位异或 两位不同时结果为1
~ 按位非 反转所有位
<< 左移 向左移动指定位数
>> 右移 向右移动指定位数
>>> 无符号右移 向右移动并用0填充

按位与运算符(&)

按位与运算符对两个操作数的每一位进行比较,当两个对应位都为1时结果位才为1。

<html>
<body>
<div id="output"></div>
<script>
  const a = 5;
  const b = 7;
  document.getElementById("output").innerHTML = "a & b = " + (a & b);
</script>
</body>
</html>

按位或运算符(|)

按位或运算符对两个操作数的每一位进行比较,当任一位为1时结果位就为1。

<html>
<body>
<div id="output"></div>
<script>
  const a = 5;
  const b = 7;
  document.getElementById("output").innerHTML = "a | b = " + (a | b);
</script>
</body>
</html>

按位异或运算符(^)

按位异或运算符对两个操作数的每一位进行比较,当两位不同时结果位为1。

<html>
<body>
<div id="output"></div>
<script>
  const a = 5;
  const b = 7;
  document.getElementById("output").innerHTML = "a ^ b = " + (a ^ b);
</script>
</body>
</html>

位移运算符

位移运算符包括左移(<<)、右移(>>)和无符号右移(>>>)。左移运算符将二进制数向左移动指定位数,右移运算符则向右移动。

<html>
<body>
<div id="output"></div>
<script>
  const a = 5;
  document.getElementById("output").innerHTML = 
  "a << 1 = " + (a << 1) + "<br>" +
  "a >> 1 = " + (a >> 1) + "<br>" +
  "a >>> 1 = " + (a >>> 1);
</script>
</body>
</html>

位运算符在JavaScript中虽然不常用,但在某些特定场景下(如权限控制、加密算法等)能提供高效的解决方案。理解这些运算符的工作原理有助于开发者编写更高效的代码。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。

作者文章
热门
最新文章
标签列表