语言for循环判断uint8_t各个位是0还是1代码
时间: 2023-08-12 14:14:18 浏览: 269
可以使用类似以下代码的 for 循环来判断 `uint8_t` 各个位是否为 0 或 1:
```c
#include <stdint.h>
uint8_t num = 0b00101010; // 42(二进制为 00101010)
for (int i = 0; i < 8; i++) {
if ((num >> i) & 1) {
printf("第 %d 位为 1\n", i);
} else {
printf("第 %d 位为 0\n", i);
}
}
```
这段代码会遍历 `num` 的 8 个位,分别判断它们是否为 0 或 1,并输出结果。其中,`(num >> i) & 1` 表示将 `num` 右移 `i` 位后,与 1 进行按位与运算,得到的结果就是 `num` 的第 `i` 位是否为 1。
阅读全文