Page 93 고등학교 프로그래밍 교과서
P. 93
7 비트 연산자
비트 연산자는 비트 단위 논리 연산을 수행한다.
[표Ⅱ- 10] 비트 연산자의 종류 및 실행 결과(a = 1101 (2) , b = 0101 (2) )
연산자 연산자 설명 실행 결과 xor(배타적 논리합, Exclusive or)
& 두 수에 대한 비트 단위 and 연산을 수행 a&b = 0101 (2) 2개의 값 중 하나만 1일 경우를 판
단하는 논리 연산이다. 두 비교의 수
| 두 수에 대한 비트 단위 or 연산을 수행 a|b = 1101 (2) 가 0, 0과 1, 1의 경우에는 0을, 0,
1과 1, 0 일 경우에는 1을 리턴한다.
^ 두 수에 대한 비트 단위 xor 연산을 수행 a^b = 1000 (2)
~ 해당 값에 대한 1의 보수를 구함. ~a = 0010 (2)
예제 비트 연산자를 사용하여 나타나는 결괏값을 알아보는 프로그램을 작성해 보자.
프로그램 실행 결과
01 #include
02 int main( )
03 { 00000000 00000000 00000000 00001101
04 int i = 13;
05 int j = 5; 00000000 00000000 00000000 00000101
06 printf("%d %d %d %d", i&j, i|j, i^j, ~i);
07 return 0;
08 }
8 시프트 연산자
시프트 연산자는 지정된 비트 수만큼 왼쪽 또는 오른쪽으로 이동하는 연산자이다.
왼쪽으로 시프트(<<) 하는 것은 2를 곱하는 결과와 같고, 오른쪽으로 시프트(>>) 하
는 것은 2로 나눈 결과와 같다.
예제 시프트 연산자를 사용하여 나타나는 결괏값을 알아보는 프로그램을 작성해 보자.
프로그램 실행 결과
01 #include
02 int main( )
03 { 00000000 00000000 00000000 00001101
04 int i = 13;
05 int j = 5; 00000000 00000000 00000000 00000101
06 printf("%d %d %d %d", i<<2, i>>2, j<<3, j>>3);
07 return 0;
08 }
3. 연산자 91
(책)2015프로그래밍-교과서3차심의본 본문.indb 91 2017-09-05 오후 4:16:08