位运算异或^的奇技淫巧

2022-12-07 16:03:52 来源:51CTO博客

^异或的性质

1、交换律a^b==b^a

2、结合律 (a^b)^c==a^(b^c)

3、对于任何数x,都有x^x=0,x^0=x,同自己求异或为0,同0异或为自己


(资料图片)

4、A^A^B=B,连续和同一个因子做异或运算,最终结果为自己!

异或^的例题

一、找出唯一成对的数

思路:

本题只有一个数是成对的,其余数全部单独出现。因此我们可以让这1001个数自己跟自己^,此时单独的数全部成对,而唯一成双的数变成了3个数,,此时根据异或运算的性质,成双的数全部变成0;只有奇数个数,异或后才是自己

编程实现:

首先需要按照题目要求创建一个数组存放1~1000的数,且需要重复一个,可以利用生成随机数实现。

接着利用循环,将数组的数两次^

二、找出唯一落单的数

将所有成员进行^,相对第一道题更加简单

标签: 奇技淫巧 可以利用 题目要求

上一篇:各开发语言DNS缓存配置建议
下一篇:观点:PowerScript语法参考手册之数据类型