一整型变量a,写两段代码,先设置a的bit3,再清除a的bit3,“a的bit3”是什么意思?
1个回答
展开全部
这个a是一个整形的,占8位,所以bit3应该是第三位。
|操作,当操作数为1时,结果为1,当操作数为0时,结果不变。
&操作,当操作数为1时,结果不变,当操作数为0时,结果为0。
因此,设置a的bit 3为1的方法就是将a和00001000作|操作,这样其他位都不变,只有第3位变成1,清除a的bit3的方法就是将a和11110111作&操作,这样第3位变成0,其他位不变。
附上代码:
#define BIT3 (0x1<<3)
static int a;
void set_bit3(void)
{ a |= BIT3;
} void clear_bit3(void)
{ a &= ~BIT3;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询