-->

별의 공부 블로그 🧑🏻‍💻
728x90

*비트 연산자(Bitwise Operator)


연산자

설명 

&

10 & 5

 AND 연산 : 모두 참(1)일 경우만 참(1)

|

10 | 5

 OR 연산 : 둘 중 하나만 참(1)일 경우 참(1)

^

10 ^ 5

 XOR 연산 : 모두 다를 경우만 참(1)

<<

10 << 2

 왼쪽 비트 이동 연산 

>>

10 >> 2

 오른쪽 비트 이동 연산



# 비트 연산자 

'''
    & : AND 비트 연산
    | : OR 비트 연산
    ^ : XOR 비트 연산
    << : 왼쪽 피연산자의 비트를 왼쪽으로 이동
    >> : 왼쪽 피연산자의 비트를 오른쪽으로 이동
'''

print(10&5)     # 0
print(10|5)     # 15
print(10^5)     # 15
print(10<<2)    # 40
print(10>>2)    # 2

''' 풀이
    bin(10) : 0b1010
    bin(5) : 0b101

    (1) &(AND)
    10: 1010
    5 : 0101
    ---------
        0000(2) -> 0(10)

    (2) |(OR)
    10: 1010
    5 : 0101
    ---------
        1111(2) -> 15(10)

    (3) ^(XOR)
    10: 1010
    5 : 0101
    ---------
        1111(2) -> 15(10)

    (4) <<(LSHIFT)
    10<<2
    10 : 1010+`00`(add) -> 101000(2) -> 40 <=> 10 * 2^2 = 40

    (5) >> (RSHIFT)
    10>>2
    10 : 10'10'(remove) -> 10(2) -> 2 <=> 10 / 2^2 = 2
    
'''

'''
    따라서,

    X>>N = X * 2^N
    X<<N = X / 2^N
'''

print(16>>2# = 16 / 2^2 = 4
print(16<<2# = 16 * 2^2 = 64


비트 계산은 2진의 숫자로 한다.

그러므로 10진수의 숫자로 비트 연산자를 사용하여 연산을 하게 되면, 파이썬 IDE는 자동으로 10진수의 수를 2진수의 수로 변환하여 비트 연산을 수행한다.


공식처럼 외워두자.


 비트 이동 공식


728x90
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️


📖 Contents 📖