记录下C语言中的一些位操作。
#define BIT_POSITION (1 << 3) // 00001000
为flags设置一个bit:
flags |= BIT_POSITION;
为flags清除一个bit:
flags &= ~BIT_POSITION;
查看flags是否有某个bit:
if (flags & BIT_POSITION) { // do something }
查看flags是否设置了MULTI_BITS的所有bit:
if ((flags & MULTI_BITS) == MULTI_BITS) { // do something }