비트연산자 not 은 반전효과를 가진다. 기존에 가지고 있던 비트를 반대로 바꿔버린다. not 비트연산을 하고자 하는 비트가 0101 이면 1010 으로 변경된다. 비트연산자 xor 하고 비슷할 수 있어 헷갈리기 쉽다.
비트연산자 not
이미 정해진 비트를 반전시킨다.
반전시킨다는 것은 0을 1로, 1을 0으로 변경시키는 것을 말한다.
간혹, 비트연산자 xor 과 헷갈릴 수도 있다.
비트연산자 xor은 같으면 0 틀리면 1이다.
비트연산자 not은 1을 0을로 0을 1로 바꾼다.
비트연산자 not 은 비교대상이 없이 변경되는 비트 자체를 반전시킨다.
첫번째 행의 비트는 0101이다.
이것을 비트연산자 not 을 하면 1010이다.
print('----------')
vA = 5
print("vA 2진수 : ", type(bin(vA)), bin(vA))
vC = bin(~vA)
vS = str(vC)
vI = int(vS, 2)
print("vC 2진수 : ", type(vC), vC)
print("vC 10진수 : ", type(vI), vI)
print('----------')
숫자 5를 비트연산하여 반전시켰다.
그런데 -인 음수가 붙어 나온다.
이것은 부호 비트까지 변경된 것을 의미한다.
반응형
'programming > DataManage' 카테고리의 다른 글
mysql 테이블 생성과 삭제 명령어 using mysql table sql command (0) | 2022.04.08 |
---|---|
자주 사용되는 sql 명령어 종류 CRUD 개념 (0) | 2022.04.05 |
비트연산자 xor 비교되는 비트가 같으면 0 다르면 1 (0) | 2021.09.02 |
비트연산자 or 비교되는 비트가 둘 중 하나가 1이면 1 (0) | 2021.08.31 |
비트연산자 and 비교되는 비트가 둘 다 1이면 1 (0) | 2021.08.30 |
댓글