728x90
반응형
&
- 비교 연산자 (명제가 둘다 참인지)
- Bitwise
Example
# 비교 연산자
print(1&0) -> True & False -> False
# Bitwise
print(24&-24) -> 0b11000 & 0b01000 -> 8
여기서 보수를 알아야하는데 이진법에는 음수를 표현하는 방법이 없다.
따라서 N과 -N의 차이는 N의 이진법 수에서 0과 1의 숫자를 바꾼 뒤 1을 추가하는 방법으로 반대 되는 수를 계산한다.
Bit_length
python에는 bit_length라는 함수가 있다.
이는 오른쪽에서부터 계산할 때, 즉 2의 몇제곱에서 처음으로 이진수가 1이 나오는지 확인하는 함수이다.
즉 0b1000의 bit_length값은 4이다.
print((24&-24).bit_length()) # 4
728x90
반응형
'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글
[Python] Codility ArrayInversionCount (0) | 2025.04.15 |
---|---|
[python] 백준 2641 다각형그리기 (0) | 2025.01.27 |
[python] 백준 2352 반도체 설계 (0) | 2024.08.15 |
[python] 백준 11400 단절선 (0) | 2024.07.07 |
[python] 백준 11266 단절점 (0) | 2024.07.06 |
댓글