티스토리 뷰
Python의 논리 연산자는 C언어와 비슷하지만 차이점이 있다.
python은 "!"를 not으로 인식하지 않는다. Python은 not을 "not"이라는 단어로 사용한다.
condition1 = TRUE
condition2 = FALSE
condition3 = not condition1
print(condition1) # TRUE
print(condition2) # FALSE
print(not condition1) # FALSE
print(condition3) # FALSE
print(condition1 and condtion2) # FALSE
c.f. ~(tilde) operator는 bit연산에서 각 digit을 0과 1을 뒤집은 결과 값을 의미한다.
number = 2 라면, number는 비트로는 10이다.
~number는 개념적으로는 01이 되어야 한다.
그러나, 프로그래밍 언어는 2라는 숫자를 10으로 저장하고 있는 것이 아니라 자료형의 크기 만큼 저장하고 있다.
예를 들어, 6자리가 자료형의 단위였다면
2는 000010이 된다. -2는 111101이 된다. 그러므로 01이 아니라 다른 수가 된다.
python에서 ~x는 (-x)-1이 된다.
stackoverflow.com/questions/3462227/weird-output-for-bitwise-not
'언어 > Python' 카테고리의 다른 글
List Comprehensions in Python (0) | 2021.01.01 |
---|---|
Python sublist, slicing (0) | 2020.12.31 |
Access and Print a list of lists (0) | 2020.12.31 |
print문 안에 if 조건을 넣을 수 있다. (0) | 2020.12.30 |
Docstring (0) | 2020.12.28 |