js 按位异或
8 ^ 7 // -> 15
8 ^ 8 // -> 0
// 1000 ^ 0111 -> 1111 -> 15
// 1000 ^ 1000 -> 0000 -> 0
异或:相同为0,不同为1. 异或同一个数两次,原数不变。
异或运算思路 : 先将两个数据转化为二进制数,然后进行按位异或运算,只要位不同结果为1,不然结果为0
每一位都不同,结果才为 1
从以上代码中可以发现按位异或就是不进位加法
常见场景
8 ^ 7 // -> 15
8 ^ 8 // -> 0
// 1000 ^ 0111 -> 1111 -> 15
// 1000 ^ 1000 -> 0000 -> 0
异或:相同为0,不同为1. 异或同一个数两次,原数不变。
从以上代码中可以发现按位异或就是不进位加法
常见场景