#include <stdio.h>
int main()
{
unsigned char c = 2;
printf("c=%d
",c);
int nbit = 3;
c|=1<<nbit;
printf("第%d位置1后,c=%d
",nbit,c);
c&=~(1<<nbit);
printf("第%d位置0后,c=%d
",nbit,c);
unsigned char b;
b=((c>>(1))&1);
printf("第%d位的值为b=%d
",1,b);
b=((c>>(2))&1);
printf("第%d位的值为d=%d
",2,b);
return 0;
}
运行结果如下:
c=2
第3位置1后,c=10
第3位置0后,c=2
第1位的值为b=1
第2位的值为d=0