异或(exclusive or, XOR)
异或就是只有一个为真,才为真。数学符号是 '⊕' ,计算机符号是'xor',在编程语言中一般用'^'表示,运算法则如下:
1^0=1
1^1=0
0^0=0
可见,异或可以实现按位翻转。例如101^111=010,用十进制表达就是5^7=2。异或运算满足的法则包括:
1.归零律,任何数异或自己相当于把自己置零,a^a=0
2.恒等律,任何数异或0都等于自己,a^0=a
3.交换律,a^b=b^a
4.结合律,(a^b)^c=a^(b^c)
5.自反,a^b^a=b
6.d=a^b^c => a=d^b^c
除了按位翻转外,异或的主要应用还包括:
1.无需使用临时变量的实现两个值的交换
a=a^b
b=a^b
a=a^b
2.寻找数组中不重复的数
例如leetcode 136,给定一个非空整数数组,除了某个元素只出现一次外,其余每个元素均出现两次,只要把整个数组中的数依次做异或运算,就能够找到只出现了一次的元素了。
分类:
python
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)