main
Peace 5 days ago
parent ede38f800e
commit 3a1d21f8cf
  1. 30
      practice/g_bitFlag.c

@ -0,0 +1,30 @@
#include <stdio.h>
#define FLAG_A 0x01 // 0000 0001
#define FLAG_B 0x02 // 0000 0010
#define FLAG_C 0x04 // 0000 0100
int main()
{
unsigned char flags = 0;
printf("A: %c, B: %c, C: %c\n", (flags & FLAG_A ? 'O' : 'X'), (flags & FLAG_B ? 'O' : 'X'), (flags & FLAG_C ? 'O' : 'X'));
// A 활성화
flags |= FLAG_A;
printf("A: %c, B: %c, C: %c\n", (flags & FLAG_A ? 'O' : 'X'), (flags & FLAG_B ? 'O' : 'X'), (flags & FLAG_C ? 'O' : 'X'));
// C 활성화
flags |= FLAG_C;
printf("A: %c, B: %c, C: %c\n", (flags & FLAG_A ? 'O' : 'X'), (flags & FLAG_B ? 'O' : 'X'), (flags & FLAG_C ? 'O' : 'X'));
// B 활성화
flags |= FLAG_B;
printf("A: %c, B: %c, C: %c\n", (flags & FLAG_A ? 'O' : 'X'), (flags & FLAG_B ? 'O' : 'X'), (flags & FLAG_C ? 'O' : 'X'));
// B 비활성화
flags &= ~FLAG_B;
printf("A: %c, B: %c, C: %c\n", (flags & FLAG_A ? 'O' : 'X'), (flags & FLAG_B ? 'O' : 'X'), (flags & FLAG_C ? 'O' : 'X'));
return 0;
}
Loading…
Cancel
Save