2024. 2. 26. 23:47γCS - Roadmap.sh/5. Bitwise operators
CS - 5. Bitwise Operators
Bitwise Operators
π‘ Bitwise operators are used to perform operations on individual bits of a number. They are used in cryptography, image processing, and other applications.
λΉνΈ μ°μ°μ
λΉνΈ μ°μ°μλ μ«μμ κ°λ³ λΉνΈμ λν μ°μ°μ μννλ λ° μ¬μ©λ©λλ€. μνΈν, μ΄λ―Έμ§ μ²λ¦¬ λ° κΈ°ν μ ν리μΌμ΄μ
μ μ¬μ©λ©λλ€.
λΉνΈ μ°μ°μλ μ»΄ν¨ν° νλ‘κ·Έλλ°μμ μ¬μ©λλ©°, μ΄λ λ°μ΄ν°λ₯Ό λΉνΈ λ¨μλ‘ μ‘°μνλλ° μ¬μ©λ©λλ€. λΉνΈ μ°μ°μμ μ’
λ₯λ μλμ κ°μ΅λλ€.
- AND ( & ) : λ λΉνΈκ° λͺ¨λ 1μΌ λλ§ κ²°κ³Όκ° 1μ΄ λ©λλ€.
- OR ( | ) : λ λΉνΈ μ€ νλλΌλ 1μ΄λΌλ©΄ κ²°κ³Όκ° 1μ΄ λ©λλ€.
- XOR ( ^ ) : λ λΉνΈκ° μλ‘ λ€λ₯Ό λ κ²°κ³Όκ° 1μ΄ λ©λλ€.
- NOT ( ~ ) : λΉνΈ κ°μ λ°μ μν΅λλ€. μ¦, 1μ 0μΌλ‘, 0μ 1λ‘ λ°κΏλλ€.
- Left shift ( << ) : μ§μ ν μλ§νΌ λΉνΈλ₯Ό μΌμͺ½μΌλ‘ μ΄λμν΅λλ€. μ€λ₯Έμͺ½μλ 0μ΄ μ±μμ§λλ€.
- Right shift ( >> ) : μ§μ ν μλ§νΌ λΉνΈλ₯Ό μ€λ₯Έμͺ½μΌλ‘ μ΄λμν΅λλ€. μΌμͺ½μλ μ΅μμ λΉνΈκ° μ±μμ§λλ€.
μ΄λ¬ν λΉνΈ μ°μ°μλ λΉ λ₯Έ κ³μ°μ΄λ λ©λͺ¨λ¦¬ μ΅μ ν, νλκ·Έ μ€μ λ± λ€μν μ©λλ‘ μ¬μ©λ©λλ€. κ·Έλ¬λ μ¬μ©ν λ μ£Όμν΄μΌ ν μ μ, λΉνΈ μ°μ°μλ μ μν λ°μ΄ν°μλ§ μ μ©ν μ μλ€λ κ²μ
λλ€. λν, λΉνΈ μ°μ°μ κ²°κ³Όλ μ°μ°μ μνν λ°μ΄ν° νμ
μ λ°λΌ λ€λ₯Ό μ μμ΅λλ€.
λ§μ§λ§μΌλ‘, λΉνΈ μ°μ°μμ μ¬μ©μ νλ‘κ·Έλλ° μΈμ΄μ λ°λΌ μ½κ°μ© λ€λ₯Ό μ μμΌλ―λ‘, μ¬μ©νλ μΈμ΄μ λ¬Έμλ μ°Έκ³ μλ£λ₯Ό νμΈνλ κ²μ΄ μ’μ΅λλ€. μ΄μΈμλ λ κΆκΈν μ μ΄ μμΌμλ€λ©΄ μΈμ λ μ§ μ§λ¬Έν΄μ£ΌμΈμ.
# AND μ°μ°
print(5 & 3) # μΆλ ₯: 1
# OR μ°μ°
print(5 | 3) # μΆλ ₯: 7
# XOR μ°μ°
print(5 ^ 3) # μΆλ ₯: 6
# NOT μ°μ°
print(~5) # μΆλ ₯: -6
AND μ°μ°
print(5 & 3) # μΆλ ₯: 7
5λ₯Ό 2μ§μλ‘ νννλ©΄ 101, 3μ 2μ§μλ‘ νννλ©΄ 011 μ
λλ€.
λ μλ₯Ό AND μ°μ°νλ©΄ 001μ΄λ―λ‘, 10μ§μλ‘λ 1μ
λλ€.
OR μ°μ°
print(5 | 3) # μΆλ ₯: 7
OR μ°μ°λ λ§μ°¬κ°μ§μ
λλ€.
5λ₯Ό 2μ§μλ‘ νννλ©΄ 101, 3μ 2μ§μλ‘ νννλ©΄ 011 μ
λλ€.
λ μλ₯Ό OR μ°μ°νλ©΄ 111μ΄λ―λ‘, 10μ§μλ‘λ 7μ
λλ€.
XOR μ°μ°
print(5 ^ 3) # μΆλ ₯: 6
5λ₯Ό 2μ§μλ‘ νννλ©΄ 101, 3μ 2μ§μλ‘ νννλ©΄ 011 μ
λλ€.
λ μλ₯Ό XOR μ°μ°νλ©΄ 110μ΄λ―λ‘, 10μ§μλ‘λ 6μ
λλ€.
NOT μ°μ°
print(~5) # μΆλ ₯: -6
5λ₯Ό 2μ§μλ‘ νννλ©΄ 101 μ
λλ€.
μ΄ μλ₯Ό NOT μ°μ°νλ©΄ 010μ΄ λλλ°, νμ΄μ¬μμλ 보μλ₯Ό μ·¨ν ν -1μ λν κ°μ λ°ννλ―λ‘ 10μ§μλ‘λ -6μ
λλ€.
# Left shift μ°μ°
print(5 << 2) # μΆλ ₯: 20
# Right shift μ°μ°
print(5 >> 1) # μΆλ ₯: 2
Left shift μ°μ°
print(5 << 2) # μΆλ ₯: 20
5λ₯Ό 2μ§μλ‘ νννλ©΄ 101 μ
λλ€.
μ΄ μλ₯Ό 2λ§νΌ μΌμͺ½μΌλ‘ shiftνλ©΄ 10100μ΄λ―λ‘, 10μ§μλ‘λ 20μ
λλ€.
Right shift μ°μ°
print(5 >> 1) # μΆλ ₯: 2
5λ₯Ό 2μ§μλ‘ νννλ©΄ 101 μ
λλ€.
μ΄ μλ₯Ό 1λ§νΌ μ€λ₯Έμͺ½μΌλ‘ shiftνλ©΄ 10μ΄λ―λ‘, 10μ§μλ‘λ 2μ
λλ€.