int a|=(1<<x) //X就是某位需要置1的数字,如第四位置1为: a|=(1<<4)
int
b&=~(1<<x) //把某位置0
x=x|0x0100
//把第三位置1
x=x&0x1011 //把第三位置0
#define
BitGet(Number,pos) ((Number) >> (pos)&1)) //用宏得到某数的某位
#define
BitGet(Number,pos) ((Number) |= 1<<(pos)) //把某位置1
#define
BitGet(Number,pos) ((Number) &= ~(1<<(pos)) //把某位置0
#define
BitGet(Number,pos) ((Number) ^= 1<<(pos))
//把Number的POS位取反
典型操作有:
WTCON |= (1 << 5) //WTCON的第五位清1
WTCON &= ~(1 << 5) //WTCON的第五位清0
原文:http://www.cnblogs.com/ct0421/p/3547629.html