JavaScript位运算符怎么运算的
JavaScript中的位运算符用于对数字的二进制表示进行操作。下面是常见的位运算符及其运算方式:
1. 按位与(&):对两个数字的每个位执行逻辑与操作,只有两个位都为1时,结果才为1。
例如:10 & 6 的结果为 2,因为10的二进制表示为 1010,6的二进制表示为 0110,按位与操作后得到 0010。
2. 按位或(|):对两个数字的每个位执行逻辑或操作,只要两个位中至少有一个为1,结果就为1。
例如:10 | 6 的结果为 14,因为10的二进制表示为 1010,6的二进制表示为 0110,按位或操作后得到 1110。
3. 按位异或(^):对两个数字的每个位执行逻辑异或操作,两个位相同为0,不同为1。
例如:10 ^ 6 的结果为 12,因为10的二进制表示为 1010,6的二进制表示为 0110,按位异或操作后得到 1100。
4. 按位非(~):对一个数字的每个位执行逻辑非操作,将每个位取反。
例如:~10 的结果为 -11,因为10的二进制表示为 0000 1010,按位非操作后得到 1111 0101,即 -11。
5. 左移(<<):将一个数字的二进制表示向左移动指定的位数,右侧用0填充。
例如:10 << 2 的结果为 40,因为10的二进制表示为 0000 1010,左移2位后得到 0010 1000,即 40。
6. 右移(>>):将一个数字的二进制表示向右移动指定的位数,左侧用0或1填充(取决于数字的符号)。
例如:10 >> 2 的结果为 2,因为10的二进制表示为 0000 1010,右移2位后得到 0000 0010,即 2。
7. 无符号右移(>>>):将一个数字的二进制表示向右移动指定的位数,左侧用0填充。
例如:10 >>> 2 的结果为 2,因为10的二进制表示为 0000 1010,无符号右移2位后得到 0000 0010,即 2。
注意:
- 位运算符只能应用于整数,如果应用于非整数,会将其转换为整数。
- 位运算符会将数字转换为32位有符号整数形式。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341