//将x的第bit位置0
#define SETLOW(x,bit) (x&(~(1<<bit)))
//将x的第bit位置1
#define SETHIGH(x,bit) (x|(1<<bit))
//获取x的第bit为的值(0/1)
#define GET_BIT(x, bit) ((x & (1 << bit)) >> bit)
//获取16位数的高八位
#define GET_H8(x) (x>>8)
//获取16位数的低八位
#define GET_L8(x) (x&0xFF)
//拼接高八位和低八位
#define CONTACT(h8,l8) ((h8 << 8)|(l8))
//求绝对值
#define ABS(x) ((1-((((x)>>(sizeof(x)*8-1))&1)<<1))*(x))
说明:
将x的某位设为0运算:
x&=~(1<<bit);
将x的某位设为1运算:
x|=1<<bit;
取16位数的高八位
x>>8
取16位数的低八位
x&0xFF