#define BIT(i) (s&1<<i) 什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/06 18:01:12

&的优先级比<<低

#define BIT(i) (s&1<<i) 就是 #define BIT(i) (s&(1<<i))
意思是取s的第i个bit位的值

正确的定义应该是这样的(保证正确并方便理解)
#define BIT(i) (s & (1 << (i)))

用于查看 s 的第 i 位是否被置位

s与1按位&计算
在左移i位