给定一个整型变量a,写两段代码 ,第一个设置a的bit 3,第二个清除a的bit 3。

嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码 ,第一个设置a的bit 3,第二个清除a的bit 3。在以上两个操作中,要保持其它位不变。

#define   BIT3   (0x1   <<   3) 
     static   int   a;  
     //设置a的bit 3:  
    void   set_bit3(void)    
    {  
            a   |=   BIT3;  
    }  
    //清a的bit 3
    void   clear_bit3(void)    
    {  
            a   &=   ~BIT3;  
    }
    //保留第k位  
    void set_bit3(void)  
    {  
        a &= BIT3;  
    } 


0x1表示为二进制就是0001
0x1<<3 = 0001<<3 = 1000 = 0x8

a |= BIT3 相当 a = a | BIT3 相当 a = a | 0x0008;
a &= ~BIT3 相当 a = a & ~BIT3 相当 a = a & 0xFFF7;

你可能感兴趣的:(简题,c语言)