본문 바로가기
programming/DataManage

비트연산자 or 비교되는 비트가 둘 중 하나가 1이면 1

by 개코 - 개발과 코딩 2021. 8. 31.

비트연산자 중 or 연산은 두가지의 비트를 비교할 때 같은 위치에 있는 비트 중 하나라도 1이면 1이고, 그 외의 경우는 0이다. and 연산과 더불어 자주 사용되는 것이기도 하다. or 연산도 특정한 경우를 제외하고 잘 사용되지 않는다.

 

비트연산자 or

비트연산자 중 or 는 비교하는 두 개의 비트 중 하나라도 1이면 1이다.

간단하다.

직접 비교하면서 살펴보자

비교되는 비트가 둘 중 하나가 1일 때만 1

언급한대로 비교되는 비트가 둘 중 하나라도 1이면 1이다.

나머지의 경우는 0이다.

몇가지 예를 들어 보자.

첫번째 행의 비트와 2번째 행의 비트를 비교하자.

세번째 행의 비트는 결과값이다.

비교되는 비트가 둘 중 하나라도 1일 때 1이다.

 

위의 경우를 파이썬으로 비트연산을 해도록 하자.

print('----------')

vA = 5
vB = 15

print("vA 2진수 : ", type(bin(vA)), bin(vA))
print("vB 2진수 : ", type(bin(vB)), bin(vB))

vC = bin(vA | vB)
vS = str(vC)
vI = int(vS, 2)

print("vC 2진수 : ", type(vC), vC)
print("vC 10진수 : ", type(vI), vI)

print('----------')

첫번째 행의 정수는 5이고, 두번째 행의 정수는 15이다.

이 두수의 비트연산을 하면 정수 5와 15를 비트연산한 결과를 보여준다.

결과는 0101 | 1111 = 1111 임을 알 수 있다.

5와 15를 or 논리연산자로 계산하면 15가 나오는 것을 알 수 있다.

반응형

댓글