32位判断某一位是0或1
时间: 2023-07-15 08:12:27 浏览: 460
假设要判断第n位是0还是1,可以使用按位与运算符(&)和左移运算符(<<)。
具体操作如下:
1. 将数值1左移n-1位,得到一个只有第n位为1的数值。
2. 将原数值与上述数值进行按位与运算。如果结果为0,则原数值的第n位为0;如果结果不为0,则原数值的第n位为1。
示例代码如下(n从右往左数,最低位为第0位):
```c++
bool isBitSet(int num, int n)
{
return num & (1 << n);
}
```
函数isBitSet用于判断num的第n位是否为1,返回值为bool类型,如果第n位为1,则返回true;否则返回false。
阅读全文