位级运算的一个常见用法就是实现掩码运算,这里掩码是一个位模式,表示从一个字节中选出的位的集合。
看一个例子,掩码0xff(最低的8位为1)表示一个字的低位字节。位级运算 x & 0xff 生成一个由 x 的最低有效字节组成的值,而其他的字节就被置为0。 比如,对于 x = 0x89ABCDEF,其表达式将得到 0x000000EF。
在linux kernel 代码里面经常看到这样的语句
#define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))。
BIT_MASK是 掩码。就是除了这一位其余位均为0
1UL的意思是 unsigned long 1.