我正在尝试遍历无符号字符的位,但我不确定从哪里开始,最终,我将对这些位执行其他按位运算,例如 ~ 和 xor.. 等。
最佳答案
可以通过多种方式循环位:
1
产生。 . 以下是第一种方法的示例:
unsigned int bits = ...;
while (bits) {
if (bits & 1) {
// Current bit is set to 1
} else {
// Current bit is set to 0
}
bits >>= 1;
}
如果您想在达到零后继续处理位,请制作一个单独的计数器。
以下是第二种方法的示例:
unsigned int bits = ...;
for (int pos = 0 ; pos != 16 ; pos++) {
if (bits & (1 << pos)) {
// Current bit is set to 1
} else {
// Current bit is set to 0
}
}
关于c - 循环通过位 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33005271/