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);