21
2020
02

编码实现某一变量某位清 0 或置 1

编码实现某一变量某位清 0 或置 1

给定一个整型变量 a,写两段代码,第一个设置 a 的 bit 3,第二个清 a 的 bit 3,在以上两个操作中,要保持其他位不变。

【答案】


#define BIT3 (0x1 << 3 ) 

Satic int a;  

//设置 a 的 bit 3:  

void set_bit3( void ) 

  a |= BIT3;          

} //将 a 第 3 位置 1 

//清 a 的 bit 3  

void set_bit3( void ) 

  a &= ~BIT3;          

} //将 a 第 3 位清零 


说明:在置或清变量或寄存器的某一位时,一定要注意不要影响其他位。所以用加减法是很难实现的。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。