/* ------------------------- Flip a certain bit ------------------------- */ #include int main( int argc, char* argv[] ) { char a = 31; /* a = 00011111 (= 31) */ /* ==================================== Flip the bit x: 000x1111 Xor with: 00010000 ==================================== */ a = a ^ 0b00010000; /* Now: a = 00001111 (= 15) */ printf( "a = %d\n", a ); /* ==================================== Flip the bit x back: 000x1111 Xor again with: 00010000 ==================================== */ a = a ^ 0b00010000; /* Now: a = 00011111 (= 31) */ printf( "a = %d\n", a ); }