Bit算法题的思考
bit操作题目思考
说实话这类题目比较考验智商,如果之前没有见过的话做出来的难度比较大。基本思路很多都是利用XOR解题
find bit parity
这题就是找奇偶校验位的值,有奇数个1就是1,有偶数个1就是0。在513 datalab出现过,现在在思考感觉没那么难了。基本思路就是把所有的1进行XOR,看最后是1还是0.
x ^= x >> 16
x ^= x >> 8
x ^= x >> 4
x ^= x >> 2
x ^= x >> 1
x &= 1;
找出2个只出现一次的数值
这个题目可以全部XOR,得到x XOR y。之后取其中一位,然后把数组分成2部分,一半有这位,一半没有,然后用前两题的思路。