bit operation
文章平均质量分 67
benbenab
这个作者很懒,什么都没留下…
展开
-
把一个数插入另一个数
given two 32bit numbers, n and m, and two bit positions, i and j. write a method to insert M into N such that M starts at bit j and ends at bit i. you can assume that the bits j t hrough i have enough原创 2012-12-05 06:06:45 · 412 阅读 · 0 评论 -
reverse bit (!!!)
如果只是reverse一个integer 可以由两种方法 1. 两个bit交换 typedef unsigned int uint; uint swapBits(uint x, uint i, uint j) { uint lo = ((x >> i) & 1); uint hi = ((x >> j) & 1); if (lo ^ hi) { x ^= ((1U << i转载 2012-12-17 02:58:05 · 850 阅读 · 0 评论 -
有一个数组,各种数组出现次数的神组合……
1. 基本款:有一个数出现了一次。其余的数都出现了两次 异或,结果就是只出现一次的数。 2. 进阶款1 有一个数出现了一次。其余的数都出现了三次 基本思想: 假设是32位的整数,定义一种新的bit operation 。 每位操作如下: 1^0=1, 0^1=1, 0^0=0, 1^1=2, 2^1=0...每次按位操作,一直到最后。 每次操作32次。 复杂度32n, 还是O原创 2012-11-14 12:43:37 · 1035 阅读 · 0 评论