【C语言】使用宏定义实现对一个8bit数据的指定位的置0或者置1操作

【C语言】使用宏定义实现对一个8bit数据的指定位的置0或者置1操作

      • 代码如下

代码如下

// 指定的某一位数置1
#define SetBit(x, y)   (x |= (1<
//指定的某一位数置0
#define ClearBit(x, y) (x &= ~(1<
//指定的某一位数取反
#define ReverseBit(x,y) (x^=(1<
//获取的某一位的值
#define GetBit(x, y)   ((x>>y) & 1)
//指定的某一位数置为指定的0或1
#define WriteBit(data, position, flag)   (flag ? SetBit(data, position) : ClearBit(data, position))

你可能感兴趣的:(C语言)