#include <stdio.h>
#define SET_BIT(x, n) ( (x) |= (1<< (n)) )
#define CLR_BIT(x, n) ( (x) &= (~(1<< (n))))
#define CHK_BIT(x, n) ( ((x) & (1<< (n)))!=0 )
#define FLIP_BIT(x, n) ( (x) ^= (1<< (n)) )
int main(void) {
static int a=0x12345678;
SET_BIT(a, 3);
printf("SET_BIT:a=0x%8x\n",a
); CLR_BIT(a, 3);
printf("CLR_BIT:a=0x%8x\n",a
); CHK_BIT(a, 3);
printf("CHK_BIT:a=0x%8x\n",a
); FLIP_BIT(a, 3);
printf("FLIP_BIT:a=0x%8x\n",a
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgU0VUX0JJVCh4LCBuKSAoICh4KSB8PSAoMTw8IChuKSkgKQojZGVmaW5lIENMUl9CSVQoeCwgbikgKCAoeCkgJj0gKH4oMTw8IChuKSkpKQojZGVmaW5lIENIS19CSVQoeCwgbikgKCAoKHgpICYgKDE8PCAobikpKSE9MCApCiNkZWZpbmUgRkxJUF9CSVQoeCwgbikgKCAoeCkgXj0gKDE8PCAobikpICkgCiAKaW50IG1haW4odm9pZCkgewoJc3RhdGljIGludCBhPTB4MTIzNDU2Nzg7CglTRVRfQklUKGEsIDMpOwoJcHJpbnRmKCJTRVRfQklUOmE9MHglOHhcbiIsYSk7CglDTFJfQklUKGEsIDMpOwoJcHJpbnRmKCJDTFJfQklUOmE9MHglOHhcbiIsYSk7CglDSEtfQklUKGEsIDMpOwoJcHJpbnRmKCJDSEtfQklUOmE9MHglOHhcbiIsYSk7CglGTElQX0JJVChhLCAzKTsKCXByaW50ZigiRkxJUF9CSVQ6YT0weCU4eFxuIixhKTsKCXJldHVybiAwOwp9