& : 비트단위로 AND 연산을 한다.
| : 비트단위로 OR 연산을 한다.
^ : 비트단위로 XOR 연산을 한다.
~ : 단항 연산자 로서 피연산자의 모든 비트를 반전 시킨다.
<< : 피연산자의 비트 열을 왼쪽으로 이동시킨다.
>> : 피연산자의 비트 열을 오른쪽으로 이동 시킨다.
#include<stdio.h>
int main(void)
{
int num1 = 15; //00000000 00000000 00000000 00001111
int num2 = 20; //00000000 00000000 00000000 00010100
int result; //각연산의 결과 값 저장
result = num1&num2; //00000000 00000000 00000000 00000100
printf("AND연산의 결과 :%d\n", result);
result = num1 | num2; //00000000 00000000 00000000 00011111
printf("OR연산의 결과 :%d\n", result);
result = num1^num2; //00000000 00000000 00000000 00011011 서로 다른 비트를 1로 바뀐다. 서로 같을 경우 엔 0으로 바뀐다
printf("XOR연산의 결과 :%d\n", result);
result = ~num1; //11111111 11111111 11111111 11110000 최상위비트가 1로 되어 음수로 표현됨, 2의 보수를 취하면 양수로 변환(-1을 곱하면된다)
printf("NOT연산의 결과 :%d\n", result); //비트를 반전시킨다.
result = num1 << 2; //00000000 00000000 00000000 00111100
printf("왼쪽으로 2칸 이동 결과 :%d\n", result);
result = num1 >> 2; //00000000 00000000 00000000 00000011
printf("오른쪽으로 2칸 이동 결과 :%d\n", result);
return 0;
}
'C' 카테고리의 다른 글
c언어 마일을 입력받아 미터로 변화하여 출력하기 (0) | 2014.04.20 |
---|---|
c언어 문자열에 포함되는 특수문자 종류 (0) | 2014.04.20 |
c언어 자료형 의 종류와 서식 문자 (0) | 2014.04.20 |
c언어 비쥬얼 스튜디오 2013 scanf 오류(경고) visual studio (2) | 2014.04.20 |
C언어 프로젝트와 소스파일 생성 (0) | 2014.04.19 |