비트(bit)단위로 논리 연산을 할 때 사용하는 연산자
다양한 연산자가 있지만 그 중 AND 연산자라고도 불리는 &연산자는
두개의 비트가 모두 '1' 일때만 '1'을 반환하는 AND 연산을 합니다.
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
값을 비트로 치환하여 , 해당 값이 포함되어 있는지를 확인 할 때
A학생 = 9 (수학, 과학)
B학생 = 3 (수학, 영어)
C학생 = 6 (영어, 국어)
D학생 = 8 (과학)
CASE 1) 영어,수학을 선택한 학생을 찾을때
수학(1)+영어(2) = 3
- A학생(9) & 3 = 1001 & 0011 = 0001 = 1
- B학생(3) & 3 = 0011 & 0011 = 0011 = 3
- C학생(6) & 3 = 0110 & 0011 = 0010 = 2
- D학생(8) & 3 = 1000 & 0011 = 0000 = 0
SOL ) 수학, 영어 하나라도 수강중인 학생은 0보다 큰 정수 가 결과 값으로 나온다.
CASE 2) 영어를 선택한 학생을 찾을때
영어(2) = 2
- A학생(9) & 2 = 1001 & 0010 = 0000 = 0
- B학생(3) & 2 = 0011 & 0010 = 0010 = 3
- C학생(6) & 2 = 0110 & 0010 = 0010 = 2
- D학생(8) & 2 = 1000 & 0010 = 0000 = 0
SOL ) 영어를 수강중인 학생은 0보다 큰 정수 가 결과 값으로 나온다.