이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다.
- 부울 대수 (Boolean Algebra)
- true / false의 2개 값으로 논리 연산을 정의
- 부울 연산자
- NOT
- AND
- OR
- XOR
- 비트 연산자
- &
- |
- ^
- ~
- >> <<
- 파이썬의 관련 함수
- 숫자는 모두 같은 취급 (객체 id도 같음)
- 0b1010 == 10 - bin
- 10진수를 2진수 str로
- bin(8) / bin(0b1000) - int
- 2진수 str을 숫자로
- int('1111', 2) / int('0b1010', 2) - hex
- 16진수 str을 숫자로
- hex(16) / hex(0b1011)
- 숫자는 모두 같은 취급 (객체 id도 같음)
- 자릿수 제한 비트 연산
- bin(0b0101 ^ ~0b1100)
- -> 0b0101 ^ 0b0011 -> 0b0110을 기대
- 결과가 -0b1010 (NOT연산으로 인해 보이지 않는 비트들까지 1로 변경됨
- 0b0000...0101 ^ 0b1111...0011 -> 0b1111...0110 - MASK를 이용해 원하는 비트수 만큼 자르기
- MASK = 0b1111
- bin(0b0101 ^ ~0b1100 & MASK)
- bin(0b0101 ^ ~0b1100)
'책읽기' 카테고리의 다른 글
[파이썬 알고리즘 인터뷰][비트연산] 해밍 거리 (0) | 2021.08.16 |
---|---|
[파이썬 알고리즘 인터뷰][비트연산] 싱글 넘버 (0) | 2021.08.16 |
[Java의 정석][Chapter-7] 객체지향 프로그래밍 2 (1/2) (0) | 2021.08.15 |
[파이썬 알고리즘 인터뷰][이진검색] 2D 행렬 검색2 (0) | 2021.08.13 |
[파이썬 알고리즘 인터뷰][이진검색] 두 수의 합2 (0) | 2021.08.13 |