비트연산자 중 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가 나오는 것을 알 수 있다.
반응형
'programming > DataManage' 카테고리의 다른 글
비트연산자 not 비트가 0이며 1 1이면 0 (0) | 2021.09.04 |
---|---|
비트연산자 xor 비교되는 비트가 같으면 0 다르면 1 (0) | 2021.09.02 |
비트연산자 and 비교되는 비트가 둘 다 1이면 1 (0) | 2021.08.30 |
게시판 페이징 mysql 5.x limit 를 이용한 게시물 나눠서 가져오기 (0) | 2021.08.07 |
게시판 페이징 범위 조건처리 자바스크립트 구현 (0) | 2021.08.04 |
댓글