[Python] 파이썬 정수 비트연산 (Feat.비트연산자)

2023. 8. 19. 17:00· Python
  • 파이썬에서 비트연산자를 이용하여 정수에 대한 비트연산을 할 수 있습니다.
  • 비트연산자의 종류에는 AND, OR, XOR, NOT, >>, <<가 있습니다.
  • 파이썬 비트 연산은 알고리즘 문제나 시스템 프로그래밍, 그래픽 처리에서 종종 유용하게 활용됩니다.
  • 그럼 지금부터 파이썬 비트연산자와 예시에 대해 살펴보겠습니다.

 

1. AND     &

  • 두 비트가 모두 1일 때만 결과가 1이 됩니다.
  • 예: 5 & 3 -> 0101 & 0011 = 0001 (결과는 1)

 

2. OR       |

  • 두 비트 중 하나라도 1이면 결과가 1이 됩니다.
  • 예: 5 | 3 -> 0101 | 0011 = 0111 (결과는 7)

 

3. XOR    ^

  • 두 비트가 다를 때 결과가 1이 됩니다.
  • 예: 5 ^ 3 -> 0101 ^ 0011 = 0110 (결과는 6)

 

4. NOT    ~

  • 비트 값을 반전시킵니다. 1은 0으로, 0은 1로 변경됩니다.
  • 파이썬에서는 2의 보수를 취하게 됩니다. 따라서, ~n은 -(n+1)과 같습니다.
  • 예 ~5 -> ~0101 = -(0101+1) = -0110 (결과는 -6)

 

5. 왼쪽시프트     <<

  • 지정한 횟수만큼 비트를 왼쪽으로 이동시킵니다.
  • 오른쪽은 0으로 채워집니다.
  • 예: 5 << 1 -> 0101 << 1 = 1010 (결과는 10)

 

6. 오른쪽시프트    >>

  • 지정한 횟수만큼 비트를 오른쪽으로 이동시킵니다.
  • 예: 5 << 1 -> 0101 << 1 = 0010 (결과는 2)

 

 

 

# 비트연산자를 이용하여 리스트 변수 arr의 길이가 2의 거듭제곱인지 판별하는 예시
if len(arr) & len(arr) - 1 == 0:       (1000 & 0111 -> 0)
    print("리스트 arr의 길이는 2의 거듭제곱입니다.")

 

 

 

'Python' 카테고리의 다른 글

[Python] Iterable 객체의 각 요소 Boolean 검사 - all(), any() 함수  (0) 2024.02.28
[Python] 논리연산자 and, or, not 상세 작동방식  (0) 2023.10.08
[Python] 파이썬 정렬 - sorted(), sort() 분석 및 차이점  (0) 2023.08.13
[Python] 문자열 내 특정 부분을 다른 문자열로 교체 - replace()  (0) 2023.08.13
[Python] 이터러블 객체를 입력받아 구성 요소들의 합을 반환 - sum()  (0) 2023.08.06
'Python' 카테고리의 다른 글
  • [Python] Iterable 객체의 각 요소 Boolean 검사 - all(), any() 함수
  • [Python] 논리연산자 and, or, not 상세 작동방식
  • [Python] 파이썬 정렬 - sorted(), sort() 분석 및 차이점
  • [Python] 문자열 내 특정 부분을 다른 문자열로 교체 - replace()
Hyper_
Hyper_
Hyper_
하이퍼의 아카이브
Hyper_
전체
오늘
어제
  • 분류 전체보기 (37)
    • Python (24)
    • Linux (6)
    • Network (3)
    • AWS (1)
    • Computer Science (1)
    • DB(SQL, NoSQL) (2)

블로그 메뉴

  • 글쓰기
  • 관리자
  • 홈
  • 방명록

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Hyper_
[Python] 파이썬 정수 비트연산 (Feat.비트연산자)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.