• JS &、|、^和~(逻辑位运算符)

    位运算就是对二进制数执行计算,是整数的逐位运算。例如,1+1=2,在十进制计算中是正确的,但是在二进制计算中,1+1=10;对于二进制数 100 取反,等于 001,而不是 -100。

    位运算符有 7 个,分为两类:

    • 逻辑位运算符:位与(&)、位或(|)、位异或(^)、非位(~)
    • 移位运算符:左移(<<)、右移(>>)、无符号右移(>>>)

    逻辑位运算符与逻辑运算符的运算方式是相同的,但是针对的对象不同。逻辑位运算符针对的是二进制的整数值,而逻辑运算符针对的是非二进制的值。

    “&”运算符

    “&”运算符(位与)用于对两个二进制操作数逐位进行比较,并根据下表所示的换算表返回结果。

    “&”运算符
    第一个数的位值 第二个数的位值 运算结果
    1 1 1
    1 0 0
    0 1 0
    0 0 0

    在位运算中,数值 1 表示 true,0 表示 false,反之亦然。

    12 和 5 进行位与运算,则返回值为 4。

    console.log(12 & 5);  //返回值4

    下图以算式的形式解析了 12 和 5 进行位与运算的过程。通过位与运算,只有第 3 位的值为全为 true,故返回 true,其他位均返回 false。

更多...

加载中...