为何集合{2,3,4,5}的XOR(异或)运算结果为0?
异或(XOR)运算的性质与常见误区
异或运算的三大核心性质
N ^ N = 0N ^ 0 = NA ^ B = B ^ A(交换律)
之前我一直以为,只有当数组中每个数字都重复出现时,整个数组元素的异或结果才会是0——毕竟不少文章都利用异或的特性来去除数组重复元素:利用交换律不影响运算结果、相同数字异或得0的逻辑,把重复元素抵消掉。
但实际测试发现,对数组{2,3,4,5}执行异或运算2 ^ 3 ^ 4 ^ 5,结果居然是0,这打破了我的原有认知。
后来通过评论解答我才明白:异或结果为0不一定需要数组中存在重复数字,不同数字的组合也可能让最终异或结果为0,之前的困惑终于解开了。
内容的提问来源于stack exchange,提问作者Arpit Patawat
相关产品推荐
相关产品推荐

