1、打印二进制:

void print_binary(int a){    int b = sizeof(a)*8;    for(; a!=0; b--)    {        if(b%4 == 0)        printf(" ");        printf("%d", (a<0)?1:0);        a <<= 1;    }    puts("");}

2、设置某一位的值

int a = 3;//第5位修改为0a &= ~(1<<4);// 第5位修改为1a |= (1<<4);

3、某一位改为相反

// 将第5位取反int a = 3;a ^= (1<<4);