一整型变量a,写两段代码,先设置a的bit3,再清除a的bit3,“a的bit3”是什么意思?

如题所述

这个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;
}

温馨提示:答案为网友推荐,仅供参考