
花开花落为您分享以下优质知识
在Javascript中,二进制运算主要通过位运算符实现,这些运算符直接对二进制位进行操作,效率较高。以下是核心要点:
一、位运算符基础
仅当两个对应位均为1时结果为1,否则为0。例如:`5 & 3`(二进制 `0101 & 0011`)结果为 `0001`(十进制1)。
按位或(|)
只要两个对应位中有一个为1,结果为1。例如:`5 | 3`(二进制 `0101 | 0011`)结果为 `0111`(十进制7)。
按位异或(^)
仅当两个对应位不同时结果为1。例如:`5 ^ 3`(二进制 `0101 ^ 0011`)结果为 `0110`(十进制6)。
按位非(~)
反转所有位(0变1,1变0),结果为负数。例如:`~5`(二进制 `0101`)结果为 `1010`(十进制-6)。
左移()
- 左移:将二进制向左移动指定位数,右边补0。例如:`5 2`(二进制 `0101 >
>
2`)结果为 `1`(十进制)。
二、二进制与十进制转换
转二进制:
使用 `toString(2)` 方法。例如:`42.toString(2)` 结果为 `'101010'`。
转十进制:使用 `parseInt(string, 2)` 或 `Number(string, 2)`。例如:`parseInt('101010', 2)` 结果为 `42`。
三、注意事项
位运算仅对32位有符号整数有效,超出范围会自动转换为32位。
负数在二进制中以补码形式存储,需注意运算结果符号。
通过以上方法,可高效完成二进制运算与转换。