其他分享
首页 > 其他分享> > 关于位运算的Intuition和Methodology

关于位运算的Intuition和Methodology

作者:互联网

关于位运算的Intuition和Methodology(初级)

位运算

     本文的目的旨在用启发式的形式理解位运算的一些常用方法论。
     本人是第一次写文,若有不严谨的地方请多多包含。

基础

十进制二进制
30011
60110
70111
   将某个二进制数和1进行与操作,结果是1,该数为奇数,结果是0,该数为偶数。

(与的作用更像取交集,或的作用更像取并集。)

 a               b
 a^b             b
 a^b             b ^ (a ^ b) = (a ^ b ^ b) = a ^ 0 = a
 a^b             a
 a ^ a ^ b = b   a
 b               a
     我们其实还可以用异或做其他一些骚操作:
     比如:有这么样一个数组,该数组中除了某个数字以外,其他所有数字都出现了两次。请找出这个只出现一次的这个数字。
     [2,2,3,3,4,4,5,6,6,7,7]
     又比如:一个长为n的数组,里面的数字范围是0--n-1,但是仅有一个数字重复出现了两次。请找出这重复出现的数字。
     [0,1,2,2,4,5,6,7]
     这些题目都可以用异或来解。
     最重要的是把异或当成一个可以让两个相同数字消灭的作用来看待。

标签:Intuition,数字,二进制,异或,奇偶性,Methodology,数组,运算
来源: https://blog.csdn.net/qq_35270919/article/details/115216236