본 포스팅은 '이젠아카데미컴퓨터학원 종로캠퍼스'에서 진행한 윤대명 선생님의 강의를 듣고 공부한 내용을 정리한 것입니다.
*참고 자료: 신용권, 『이것이 자바다』, 한빛미디어(주), 2015.
목차
1. 비트 연산자
*비트 연산자는 0과 1로 연산을 합니다. 0과 1로 표현이 가능한 정수 타입만 비트 연산이 가능합니다. 실수는 연산 불가합니다.
연산자 종류 | 연산자 | 기능 설명 | 피연산자 수 |
비트 논리 연산자 | ~ & | ^ |
~: 비트를 반전시켜줌. | 단항 이항 |
비트 이동 연산자 쉬프트 연산자 |
<< >> >>> |
이항 |
1-1. 비트 논리 연산자
구분 | 연산식 | 결과 | 설명 | ||
AND | 1 | & | 1 | 1 | AND 연산은 두 개가 1일 때만 1이 나온다. |
1 | 0 | 0 | |||
0 | 1 | 0 | |||
0 | 0 | 0 | |||
OR | 1 | | | 1 | 1 | OR 연산은 두 개가 0일 때만 0이 나온다. |
1 | 0 | 1 | |||
0 | 1 | 1 | |||
0 | 0 | 0 | |||
XOR | 1 | ^ | 1 | 0 | XOR 연산은 두 개가 같으면 0, 두 개가 다르면 1이 된다. |
1 | 0 | 1 | |||
0 | 1 | 1 | |||
0 | 0 | 0 | |||
NOT (부정) |
! | 1 | 0 | 부정은 1은 0, 0은 1이 된다. | |
0 | 1 |
▼십진수를 비트로 바꿀 수 있습니다.
2의 7승 | 2의 6승 | 2의 5승 | 2의 4승 | 2의 3승 | 2의 2승 | 2의 1승 | 2의 0승 |
128 | 62 | 32 | 16 | 8 | 4 | 2 | 1 |
▼십진수 45를 비트로 표현하면, 32+8+4+1
0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
▼25를 비트로 바꾸면, 16+8+1
0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
▲45와 25의 & 연산의 결과는 9다. OR 연산의 결과는 61입니다.
1-1-1. [예제] 비트 논리 연산자
1-2. 비트 이동 연산자
Int result = 1 << 3;
신용권, 『이것이 자바다』, 한빛미디어(주), 2015년, p.97.
↘정수 1을 왼쪽으로 3개만큼 이동합니다.
Int result = -8 >> 3;
신용권, 『이것이 자바다』, 한빛미디어(주), 2015년, p.97.
1-2-1. [예제] 비트 이동 연산자