비트 연산이 너무너무 중요하다고 했는데 안쓰는 사람은 정말 안써요~
저같아도 안씁니다..
하지만 정말 중요하고 프로그램의 초석이라면 초석이라 무시할 수 없는 부분이에요 다소
많이 지루하고 난해하고~ 복잡할지라도 꼭 봐야 합니다~~~( 프로그램을 입문하기 위해서는~ )
비트 연산 개념
& ( 비트 단위 AND ) : 두개의 비트가 모두 1일 때 1을 반환
| ( 비트 단위 OR ) : 두개의 비트중 한개라도 1일때 1반환
^ ( 비트 단위 XOR ) : 두개의 비트가 서로 다를 경우만 1반환
~ ( 비트 단위 NOT ) : 보수연산, 비트 반전
<< ( 왼쪽으로 쉬프트 ) : 비트를 왼쪽으로 이동시킨 값을 반환
>>( 오른쪽으로 쉬프트 ) : 비트를 오른쪽으로 이동시킨 값을 반환
소스 코드 :
#include <stdio.h>
int main(void)
{
char a = 15; // 0 0 0 0 1 1 1 1
char b = 10; // 0 0 0 0 1 0 1 0
char result = 0;
// & 연산
result = a & b; // 0 0 0 0 1 0 1 0 10
printf("& 연산 : %d \n", result);
// | 연산
result = a | b; // 0 0 0 0 1 1 1 1 15
printf("| 연산 : %d \n", result);
// ^ 연산
result = a ^ b; // 0 0 0 0 0 1 0 1 5
printf("^ 연산 : %d \n", result);
// << 연산
a = a << 1;
printf("a<<1 연산 : %d \n", a); // 0 0 0 0 1 1 1 1 -> 0 0 0 1 1 1 1 0 30
b = b >> 1;
printf("b>>1 연산 : %d \n", b); // 0 0 0 0 1 0 1 0 -> 0 0 0 0 0 1 0 1 5
printf("%d\n", 600 >> 2);
return 0;
}
결과
활용 법 (029 비트 연산자 이해하기( |, &, ~, ^, <<, >> ) - 2 참고)
#C언어, #C언어입문, #프로그램입문, #비트연산
'Programing - C > C Basic grammar ' 카테고리의 다른 글
031 sizeof (0) | 2017.07.27 |
---|---|
030 캐스트 연산 (0) | 2017.07.27 |
029 비트 연산자 이해하기( |, &, ~, ^, <<, >> ) - 2 (0) | 2017.07.27 |
029 비트 연산자 이해하기( |, &, ~, ^, <<, >> ) - 1 (0) | 2017.07.27 |
028 쉼표 연산자 ( , ) (0) | 2017.07.27 |