특정 비트 Set(1)

원하는 비트를 1과 OR한다. 1과 OR하면 0과 1 모두 1이 출력된다.

 

A B OUTPUT
0 1 1
1 1 1

 

#include <stdio.h>

int main(){
    printf("%d\r\n", 0b00001000 | 0b00001000); // print : 8(00001000)
    printf("%d\r\n", 0b00000000 | 0b00001000); // print : 8(00001000)
}

 

특정 비트 Clear(0)

원하는 비트를 0과 AND한다. 0과 AND하면 0과 1 모두 0이 출력된다.

 

A B OUTPUT
0 0 0
1 0 0

 

#include <stdio.h>

int main(){
    printf("%d\r\n", 0b00001000 & 0b00000000); // print : 0(00000000)
    printf("%d\r\n", 0b00000000 & 0b00000000); // print : 0(00000000)
}

 

 

특정 비트 반전

원하는 비트를 1과 XOR 한다. 1과 XOR 하면 0은 1로, 1은 0으로 반전된다.

 

A B OUTPUT
0 1 1
1 1 0

 

#include <stdio.h>

int main(){
    printf("%d\r\n", 0b00001000 ^ 0b00001000); // print : 0(00000000)
    printf("%d\r\n", 0b00000000 ^ 0b00001000); // print : 8(00001000)
}