Ex12-비트연산자

CODEDRAGON Development/C, C++

반응형

비트연산자

비트 단위 AND 연산, 비트 단위 OR 연산, 비트 단위 XOR 연산, 비트 단위 NOT 연산

 


&연산자 vs 주소연산자

피연산자사이의 &

&연산자

변수앞의 &

주소연산자

   

   

소스코드

   

#include <stdio.h>

int main(void) {

int a=12;

// 128 64 32 16 8 4 2 1

// 0 0 0 0 1 1 0 0

int b=20;

// 128 64 32 16 8 4 2 1

// 0 0 0 1 0 1 0 0

int result1, result2, result3, result4;

result1 = a & b;

// 128 64 32 16 8 4 2 1

// 0 0 0 0 1 1 0 0

// 0 0 0 1 0 1 0 0

//----------------------

// 0 0 0 0 0 1 0 0

printf("a: %d \n", a);

printf("b: %d \n", b);

printf("비트단위 & 연산 결과: %d \n\n",result1); // 결과 4

result2 = a | b;

// 128 64 32 16 8 4 2 1

// 0 0 0 0 1 1 0 0

// 0 0 0 1 0 1 0 0

//----------------------

// 0 0 0 1 1 1 0 0

printf("a: %d \n", a);

printf("b: %d \n", b);

printf("비트단위 | 연산 결과: %d \n\n",result2); // 결과 28

result3 = a ^ b;

// 1 2 결과

// 0 0 0

// 1 0 1

// 0 1 1

// 1 1 0

printf("a: %d \n", a);

printf("b: %d \n", b);

printf("비트단위 ^ 연산 결과: %d \n\n",result3); // 결과 24

//~ 연산자

result4 = ~ a;

// 128 64 32 16 8 4 2 1

// 0 0 0 0 1 1 0 0

// 1 1 1 1 0 0 1 0

printf("a: %d \n", a);

printf("비트단위 ~ 연산 결과: %d \n",result4); // 결과는

return 0;

}


   

   

출력결과