利用异或操作的例题,兼如何获得一个数在二进制下只保留最右边的一的形式的方法
因为 a, b 为不同的数,所以eor = a ^ b 不为 0,即eor的二进制表示中必存在1,并且我们由 ^ (异或)的原理可知a,b 在存在的1位置上一个为0,一个为1,为了便于区分我们只取eor在二进制下的最后一个1作为参照,并令 a的该位置为1,b的该位置为0。对于a,其x位置上为1,我们将数列中所有x位置上为1的数进行 ^ (异或)操作,因为符合要求的数除了a以外的所有数均为偶数个,所以异或操作后的结果为 a。题目中两种数据的区别在于出现的次数为奇数或是偶数,我们应该利用这一点来解题。
原创
2023-08-25 19:43:56 ·
102 阅读 ·
0 评论