位操作 0x1 << 3

 #define   BIT3   (0x1   <<   3)   
    static   int   a;   
      
    void   set_bit3(void)     
    {   
            a   |=   BIT3;   
    }   
    void   clear_bit3(void)     
    {   
            a   &=   ~BIT3;   
    }

用   #defines   和   bit   masks   操作。这是一个有极高可移植性的方法,是应该被用到的方法。      

0x表示此数为16进制表示方法 
0x1表示为2进制就是0001 
<<是移位操作 表示左移,>>表示右移
0x1<<3表示将0x1向左移3位 
即0x1<<3 = 0001<<3 = 1000 = 0x8

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


你可能感兴趣的:(位操作 0x1 << 3)