【位运算生成枚举序列】
2015-07-27 21:40
232 查看
如果遇到这样的枚举情况,一个数组a[6], 每个值只能取0或者1,共有64种情况,我们需要一次枚举出来。
方法1:从0到63一次转换成二进制填充进去(麻烦)。
方法2:位运算实现
代码:
方法3:
思维巧解实现,没看懂:http://blog.csdn.net/smile_7x/article/details/8526659
这个博客里有,,,
方法1:从0到63一次转换成二进制填充进去(麻烦)。
方法2:位运算实现
代码:
int main(void) { int cnt=0; for(int k=0; k<64; k++){ //枚举0---63 for(int j=0; j<6; j++) //6个数组位 if(k&(1<<j)) printf("1 "); //可以在此处将1填充到数组里 else printf("0 "); //0也是一样 printf("\n"); cnt++; } printf("%d\n", cnt ); //cnt==64 return 0; }
方法3:
思维巧解实现,没看懂:http://blog.csdn.net/smile_7x/article/details/8526659
这个博客里有,,,
相关文章推荐
- Android 折线图的实现
- OpenCV中图像及子图像ROI之间的复制
- virtual empty() const中的const有的作用
- 新生儿是否应饿着
- NSRunloop的解析及autorelease的释放时机
- iOS反射机制
- bzoj1002【fjoi2007】轮状病毒
- !HDU 4282 A very hard mathematic problem-卡时间-(二分枚举)
- zoj 3890 Wumpus bfs
- 表单开发(二):获取单选按钮,多行文本框,下拉菜单,捆绑元素数据,用户注册
- iOS开发分分钟搞定C语言——函数
- 指针与二维数组
- Javascript我学之六对象工厂函数与构造函数
- 使用命令行工具运行Xcode 7 UI Tests
- Equation Again 最大化最小值
- hdoj 2147 kiki's game【博弈】
- 二叉树的遍历的应用
- Array.prototype.slice.call(arguments)
- EhCache缓存在集群环境中同步问题
- 随手小代码——二分法排序