본문 바로가기
programming/DataManage

비트연산자 and 비교되는 비트가 둘 다 1이면 1

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

비트연산자 중 and 연산은 두가지의 비트를 비교할 때 같은 위치에 있는 비트가 1이면 1이고, 그 외의 경우는 0이다. 비트연산은 간단하지만 특정한 경우를 제외하면 코딩시에 잘 사용하지 않기 때문에 개념만 익혀도 나중에 도움을 받을 수 있다.

비트연산자 and
비트연산자 and

 

비트연산자 and

비트연산자 중 and 는 비교하는 두 개의 비트가 1일 때만 1이고, 나머지의 경우는 0이다.

간단하다.

하지만, 시간이 지나면 이런 비트연산은 헷갈리고 잘 사용하지 않는다.

특정한 경우에 많이 사용되기 때문에 그렇다.

어쨌든 비트연산자의 and 연산을 한 보도록 하자.

 

비교되는 비트가 둘 다 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를 비트연산한 결과를 보여준다.

반응형

댓글