JavaScript 中位运算符的用法?

推荐答案

-- -------------------- ---- -------
-- ------
--- - - -- -- ---- ----
--- - - -- -- ---- ----

-- --- ---
--- --------- - - - -- -- ---- -- -

-- --- ---
--- -------- - - - -- -- ---- -- -

-- ---- ---
--- --------- - - - -- -- ---- -- -

-- --- ---
--- --------- - --- -- ---- -- --

-- -- ----
--- --------------- - - -- -- -- ---- -- --

-- -- ----
--- ---------------- - - -- -- -- ---- -- -

-- ----- -----
--- ------------------------ - - --- -- -- ---- -- -

本题详细解读

位运算符概述

位运算符直接操作二进制位,适用于整数类型的数据。JavaScript 中的位运算符包括:

  1. 按位与 (&):对两个操作数的每一位进行与操作,只有两个位都为 1 时,结果位才为 1。
  2. 按位或 (|):对两个操作数的每一位进行或操作,只要有一个位为 1,结果位就为 1。
  3. 按位异或 (^):对两个操作数的每一位进行异或操作,当两个位不同时,结果位为 1。
  4. 按位非 (~):对操作数的每一位进行取反操作,1 变 0,0 变 1。
  5. 左移 (<<):将操作数的二进制位向左移动指定的位数,右边空出的位用 0 填充。
  6. 右移 (>>):将操作数的二进制位向右移动指定的位数,左边空出的位用符号位填充。
  7. 无符号右移 (>>>):将操作数的二进制位向右移动指定的位数,左边空出的位用 0 填充。

示例解析

  • 按位与 (&)5 & 3 的结果是 1,因为 0101 & 0011 的结果是 0001
  • 按位或 (|)5 | 3 的结果是 7,因为 0101 | 0011 的结果是 0111
  • 按位异或 (^)5 ^ 3 的结果是 6,因为 0101 ^ 0011 的结果是 0110
  • 按位非 (~)~5 的结果是 -6,因为 ~0101 的结果是 1010(在 JavaScript 中,负数以补码形式表示)。
  • 左移 (<<)5 << 1 的结果是 10,因为 0101 左移一位变为 1010
  • 右移 (>>)5 >> 1 的结果是 2,因为 0101 右移一位变为 0010
  • 无符号右移 (>>>)5 >>> 1 的结果是 2,因为 0101 右移一位变为 0010

注意事项

  • 位运算符在处理大整数时可能会导致精度丢失,因为 JavaScript 中的数字是以 64 位浮点数表示的。
  • 位运算符通常用于性能优化或处理底层数据,但在现代 JavaScript 开发中,使用场景相对较少。
纠错
反馈