Development/CodingTest

진법 변환 / 비트 연산

Kirok Kim 2022. 1. 6. 00:18

진법 변환

  • 수를 셀 때 자릴 수가 올라가는 단위를 기준으로 하는 셈법의 총칭 사용하는 숫자의 개수가 진법의 숫자를 의미
# 10진법 >> 2진법
bin()

# 10진법 >> 8진법
oct()

# 10진법 >> 16진법
hex()

# n진법 >> 10진법
int(0b1101)
int(0o73)

비트연산

  • 한 개 혹은 두 개의 이진수에 적용되는 연산
  • NOT(~)연산
    음수의 표현을 처리하고자 1은 0으로 0은 1로 변환
    1을 더한 뒤 부호를 바꿔준다.
    
    shift(<< >>)
    <<
    비트 이동 연산자로 왼쪽으로 주어진 수만큼 옮긴다
    bin(0b11<<3) == 0b11000
    bin(0b11>>1) == 0b1
    
    35|5 >>> 100011 | 101 >>> 100111>>> 39
    
    |(Binary OR) 비트 단위로 or 연산(둘 중 하나가 1일 경우 1리턴)
    &(Binary AND) 비트 단위로 and 연산(모두 1일 경우 1리턴)
    

비트 연산 활용

  1. 컴퓨터 연산을 위한 비트필드
  2. 데이터의 압축 및 암호화
  3. 유한 상태 기계
  4. 컴퓨터 통신을 위한 포트 및 소켓
반응형