C语言中经常会对某一位进行操作。
现对某一位置1、置0、取反和读取的用法,简单举例如下:
#include <stdio.h>
unsigned char Status = 0;
#define BIT0 0x00000001
#define BIT1 0x00000002
#define BIT2 0x00000004
#define BIT3 0x00000008
#define BIT4 0x00000010
#define BIT5 0x00000020
#define BIT6 0x00000040
#define BIT7 0x00000080
#define BIT8 0x00000100
#define bMyFlagBit BIT0
#define GetMyFlag (Status & bMyFlagBit) //读取
#define SetMyFlag (Status |= bMyFlagBit) //置1
#define ClrMyFlag (Status &= ~bMyFlagBit) //置0
#define RevMyFlag (Status ^= bMyFlagBit) //取反
void main(void)
{
SetMyFlag(); //Flag置1
GetMyFlag(); //读取Flag
ClrMyFlag(); //Flag置0
RevMyFlag(); //Flag取反
}