位运算
SinclairWang
A very self-motivated person, a very modest man,and also a man does not fear endures hardship.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
位运算知识点
x&(−x)x\&(-x)x&(−x) 寻找一个数x的二进制表示的最后一个1, 统计x中有多少个1,x=x&(x−1)x = x\&(x-1)x=x&(x−1) 每次消除一个1,重复若干次,直至x变为0num = 0; while(x){ x = x&(x-1); num ++; } ...原创 2020-04-29 22:08:47 · 367 阅读 · 1 评论 -
格雷码
偶然间发现了一个很好的方法,详见Gray code 下面是一个生成以start开始的格雷码的板子,n为二进制位的个数。 vector<int> getGray(int n, int start) { vector<int> res; for(int i=0;i< 1<<n;i++){ res.pus...原创 2019-10-27 19:57:51 · 271 阅读 · 0 评论 -
最妙不过位运算
先来占个坑,以后慢慢补充。 一道蓝桥杯2018B组国赛题目 格雷码 补全代码的题目 格雷码是以n位的二进制来表示数。 与普通的二进制表示不同的是,它要求相邻两个数字只能有1个数位不同。 首尾两个数字也要求只有1位之差。有很多算法来生成格雷码。以下是较常见的一种: 从编码全0开始生成。 当产生第奇数个数时,只把当前数字最末位改变(0变1,1变0) 当产生第偶数个数时,先找到最右边的一个1,把它...原创 2019-05-23 19:57:44 · 203 阅读 · 0 评论
分享