移位操作举例
#define BIT(i) (1<<(i)) // 定义左移宏函数,1左移i位
// 第0位:BIT(0),将1左移0位,24个0,0000,0001
// 第1位:BIT(1),将1左移1位,24个0,0000,0010
// 第2位:BIT(2),将1左移1位,24个0,0000,0100
// 第3位:BIT(3),将1左移1位,24个0,0000,1000
// unsigned int task=0; // 先定义一个全0编码的32位无符号整数
// task = task|BIT(i); // 将第i位置1.但会覆盖task其他位.如何只操作第i位
// if(task&BIT(i))为真, // 则说明第i位为1
// 将某位置为1:; task|BIT(i);将某位与task按位或即可
// 判断某位是否为1:if(task&BIT(i))为true,则第i位为1