http://blog.youkuaiyun.com/coder_xia/article/details/7330376
void set(int i) { a[i>>SHIFT] |= (1<<(i & MASK)); }
其中 i & MASK <==>i % MASK i的低mask位保持不变 就是对mask求余
该操作先确定第i位在数组中哪个元素,然后确定这个元素的哪一位
本文介绍了一种使用位操作实现特定功能的方法。通过示例代码解释了如何设置特定位置的比特位,包括计算比特位的位置以及如何对该位置进行设置。文中详细解析了位移运算符与按位或运算符的应用。
http://blog.youkuaiyun.com/coder_xia/article/details/7330376
void set(int i) { a[i>>SHIFT] |= (1<<(i & MASK)); }
其中 i & MASK <==>i % MASK i的低mask位保持不变 就是对mask求余
该操作先确定第i位在数组中哪个元素,然后确定这个元素的哪一位
746

被折叠的 条评论
为什么被折叠?