作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我要使用位图存储多个标志时,我总是感到困惑。例如,如果一个对象有10个可能的属性(全为Yes或No),我将使用无符号int和基于属性的前10位(来自LSB)。现在如何设置和取消设置特定位,以及如何检查是否设置了位?
如果要取消设置第5位,请使用:
比特数(flag,2 ^ 5-1)
但是我不清楚要用什么来检查是否设置了第5位。
最佳答案
检查是否设置了第n位:
(flags & (1 << n)) != 0
flags |= (1 << n)
flags &= ~(1 << n)
flags ^= (1 << n)
关于bit-manipulation - 关于使用位图存储多个值的快速备忘单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1023901/
我是一名优秀的程序员,十分优秀!