位运算基础知识-按位与& 按位或| 异或^ 短路运算符(逻辑与&& 逻辑或||)并利用异或快速解决高频面试题leetcode540

本文内容首发于 github仓库-正在起步阶段的前端知识库,其中记录了一名前端初学者的学习日记🤔&学习之路点点滴滴的记录(练手demo🧑‍💻,重要知识点🧐)

【1】位运算基础知识

按位 a & b

【1】a b转换为二进制【2】进行按位运算 “且”的规则

0&0=0; 
0&1=0;
1&0=0;  
1&1=1;
  • 利用这个特性可以快速判断一个数字是否为奇数(最后一个二进制是否为1)
(5 & 1) === 1;// true
(4 & 1) === 1;// false

按位 a | b

【1】a b转换为二进制【2】进行按位运算 “或”的规则

0|0=0;
0|1=1;
1|0=1;
1|1=1;

异或 a ^ b

很有用的运算符!! 【1】a b转换为二进制【2】进行按位运算 “相同的数异或得0 任何数与0异或等于本身”的规则
通过这两个性质可以快速地从一堆情侣中找出一只单身🐕(???)
详见下面这道力扣

// 二进制
0^0=0 1^1=0
0^1=1 1^0=1
// 十进制
6 ^ 6 = 0
0 ^ 666 = 666
  • 两个经典用法

    • 找出没有重复得数(一组数,都是成对的,只有一个落单的)进行全部异或运算最终结果即为落单那个数

      1^2^3^4^5^1^2^3^4 =1^1)^(2^2)
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值