int temp = 0x5E; // in binary 0b1011110.
有没有这样一种方法可以在没有位移和掩码的情况下检查 temp 中的第 3 位是 1 还是 0。
只是想知道是否有一些内置函数,还是我被迫自己写一个。
最佳答案
在C语言中,如果要隐藏位操作,可以写一个宏:
#define CHECK_BIT(var,pos) ((var) & (1<<(pos)))
并以这种方式使用它来检查右端的第 nth 位:
CHECK_BIT(temp, n - 1)
在 C++ 中,您可以使用 std::bitset .
关于c++ - C/C++ 检查是否设置了一位,即 int 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/523724/