ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TIL (보충) 파이썬 비트연산자
    컴퓨터, AI/(국비) Bio-Health AI 2026. 3. 31. 20:27

     

    비트 연산자
    연산자 이름 설명
    & AND 두 비트가 모두 1이면 1
    | OR 두 비트 중 하나라도 1이면 1
    ^ XOR 두 비트가 서로 다르면 1
    ~ NOT 비트 반전 (0 ↔1)
    << Left Shift 비트를 왼쪽으로 이동 (2 곱하기)
    >> Right Shift 비트를 오른쪽으로 이동 (2 나누기)

     

    <사전 지식>

    1) 1의 보수 : 비트를 그냥 다 뒤집는다 ( 0→1, 1 →0)

    2) 2의 보수 : 1의 보수에 1을 더한것 

        → 음수를 양수처럼 더해서 0이 나오게 하자!

        → 2의 보수를 쓰는 이유는 0이 오직 하나로 존재할 수 있기 때문

    예시

     

    숫자 13과 숫자 7을 비트로 바꿔서 예시를 들어보겠다.

     

    1) & 연산

                                            숫자 13   (비트 : 1101)

                                            숫자 7     (비트 : 0111)

     (두 비트가 모두 1이면 1)                    →    0101

                                                      정답  →  숫자 5

     

    2) | 파이프연산

                                            숫자 13   (비트 : 1101)

                                            숫자 7     (비트 : 0111)

    (두 비트 중 하나라도 1이면 1)              →    1111

                                                   정답  →  숫자 15                           

     

    3) XOR 연산

                                            숫자 13   (비트 : 1101)

                                            숫자 7     (비트 : 0111)

    (두 비트가 서로 다르면 1)                  →      1010

                                                   정답  →  숫자 15     

     

     

                                            숫자 5 비트 = 00000101

                                                        (반전) 11111010

                                                                  ↓맨앞 비트가 1이면 음수다

                                     → 역순 계산 비트 1을 뺀다

                                         숫자 5 반전비트 1111  1010

                                                    비트 1     0000 1001

                                                          빼면  1111 1001

                                                       뒤집기  0000 0110

                                                            →  숫자 6의 값

                                                            → 맨 앞 비트가 1이면 음수라고 하였기 때문에

                                                            → 최종 정답 : -6

    간단하게 계산하기 위한 공식

    ☑️ ~ n = - ( n + 1 )

     

    4) << 연산

    비트를 왼쪽으로 이동 (2 곱하기)

        1101

    <<11010

        정답 26

     

    5) >> 연산

    비트를 오른쪽으로 이동 (2 나누기)

         1101

    >>   110

    정답 6

Designed by Tistory.