본문 바로가기
프로그래밍/프로그래밍 지식

[프로그래밍] 비트 연산자

by 김아잉 2023. 7. 6.
728x90

프로그램을 짜다보면 & | ^ ! >> << 같은 기호를 볼 때가 많다. 프로그래밍을 시작한지 얼마 되지 않았을 때에는 생소하지만 나중에는 쓸모가 많은 연산자들이므로 한 번 알아보자.

 

참과 거짓은 각각 1,0으로 부른다.


& 연산자

and 연산자라고 불린다. 입력값 A,B 둘 다 1인 경우에만 1이 나온다.

논리식은 Y=AB로 논리곱이라고 부른다.

A B Y
0 0 0
1 0 0
0 1 0
1 1 1

| 연산자

or 연산자라고 부른다. 입력값 A,B 둘 중 하나가 1인 경우 1이 출력된다.

논리식은 Y=A+B로 논리합이라고 부른다.

A B Y
0 0 0
1 0 1
0 1 1
1 1 1

^ 연산자

xor연산자라고 부른다. xor은 exclusive or의 준말이다. 입력값 A,B가 서로 다른 경우만 1이 나온다.

논리식은 Y = AB'+A'B = A⨁B이다.

 

A B Y
0 0 0
1 0 1
0 1 1
1 1 0

! 연산자

not 연산자라고 부른다. 입력값 A의 반대가 출력된다.

논리식은 Y=A'이다.

A Y
0 1
1 0

 


>>, << 연산자

bitshift 연산자다. A >> B일 때 A를 이진수로 변환한 비트를 화살표 방향으로 B만큼 이동시킨다. 정수부분만 존재하기 때문에 >> 연산자를 이용해서 연산을 시켜도 소수값은 변하지 않는다.

 

ex)

3 << 2

011 -> 110 -> 1100

728x90

댓글