位运算

位运算 - 图1 :::info

  • 数字使用64位浮动数表示,但是在进行位运算时,会被转化为32位带符号整数。
  • 负数采用补码,进行位运算。 ::: 例子判断奇偶数,使用&运算符。
    1. function isOdd(num) {
    2. return (num & 1 === 1) ? "odd" : "even";
    3. }
    例子使用二进制数,表示状态变量
    1. var flag = 0;
    2. flag1 = flag | 1; //1
    3. flag2 = flag | 2; //10
    4. flag3 = flag | 4; //100
    5. flag4 = flag | 8; ///1000
    例子<<<0:独特的特性,可以强制转换任意类型为正整数
    1. "string" >>> 0 == 0
    2. (function() { }) >>> 0 == 0
    3. [1, 2, 3] >>> 0 == 0
    4. Math.PI >>> 0 == 3