位运算

1、位非 ~

        var a = 10;
        console.log(~a);//这个表示+1取负

        var str = "abcde"
        if (str.indexOf('a')) {

        }
        console.log(str.indexOf('b'))

        // if (~str.indexOf('a')) {
        //     console.log('找到')
        // }

2、位与运算 &

只有两个条件都是1,结果为1

        var b = 5;
        var c = 6;
        console.log(b & c)
        // 5 -二进制> 101
        // 6 -> 110
        // 5&6 = 100   结果为4

3、位或运算 |

只要有一个为1,结果都为1

 var b = 5;
 var c = 6;
 console.log(b | c);
        // 101
        // 110
        // 111

4、异或运算 ^

相同的就是0,不同的就是1

        console.log(b ^ c)
        // 101
        // 110
        // 011

        var x = 1235;
        var y = 36;
        var z = x ^ y;
        console.log(z ^ y)
        // 加密用途
        // 密码 ^ 加密串 ==== 加密后的密码
        // 加密后的密码 ^ 加密串 == 密码

5、左右移位 << >>

        console.log(8 << 2);
        // 1000  <<  1000 00 
        console.log(8 >> 2)
        // 1000 >> 10

        console.log(1 << 6);//最快速的 求2的n次幂  console.log(1<<n)

        // 直接将蓝色变为红色
        console.log((0x0000FF << 16).toString(16))
最快求2的n次幂 方法
//求2的6次幂
console.log(1 << 6);//最快速的 求2的n次幂  console.log(1<<n)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值