#include #include /* First we need a bit field */ #define BIT_1 (1<<0) // 2^0, bit 1 #define BIT_2 (1<<1) // 2^1, bit 2 #define BIT_3 (1<<2) // 2^2, bit 3 #define BIT_4 (1<<3) // 2^3, bit 4 #define BIT_5 (1<<4) // 2^4, bit 5 #define BIT_6 (1<<5) // 2^5, bit 6 #define BIT_7 (1<<6) // 2^6, bit 7 #define BIT_8 (1<<7) // 2^7, bit 8 /* All bits set: 128+64+32+16+8+4+2+1 = 255 = 0xFF */ int main() { char bits = 0; bits |= BIT_1; // set bit 1 bits |= BIT_4; // set bit 4 bits &= ~BIT_4; // unset bit 4 again bits ^= BIT_5; // flip bit 5 // check which bits are set for(int i=0; i