시작하기
비트와 바이트
이 페이지의 내용
  1. 비트
  2. 바이트
  3. Hex code

비트와 바이트

바이트 배열, 비트/바이트 블록, 사용자 정의 통신처럼 이진 데이터를 다룰 때 필요한 기초 지식입니다(8부).

비트

컴퓨터의 CPU 에는 수십억 개의 트랜지스터(스위치)가 있고, 초당 수십억 번 스위치를 켜고 끕니다. 컴퓨터는 스위치가 켜진 상태를 1, 꺼진 상태를 0 으로 해석하므로 모든 데이터를 0 과 1 만으로 표현하며, 이를 2진수(binary)라 합니다. 2진수의 한 자리(0 또는 1)를 1 비트(bit)라고 합니다. 예를 들어 10진수 3 은 2진수로 11 이며 두 자리이므로 2비트입니다.

2진수10진수
000
011
102
113

2비트로 표현할 수 있는 숫자는 위와 같이 4개(2²)이며, n 비트로는 2ⁿ 개의 숫자를 표현할 수 있습니다.

바이트

데이터의 크기는 제각각이므로 CPU 가 비트 단위로 데이터에 접근하면 읽기와 쓰기가 지나치게 잦아집니다. 예를 들어 10진수 37 은 2진수 100101 로 6비트이지만, 이를 비트 단위로 처리하면 여섯 번 읽거나 써야 합니다. 그래서 컴퓨터는 8비트를 묶어 한 단위로 처리하며, 이를 1 바이트(byte)라고 합니다. 37 은 앞에 00 을 붙여 00100101, 즉 8비트(1바이트)로 만들어 한 번에 처리합니다. 일부 비트가 낭비되지만 훨씬 효율적으로 처리할 수 있습니다.

Hex code

바이트 값을 2진수로 표시하면 읽기 어려우므로 16진수(hexadecimal)로 표시하며, 이를 Hex code 라고 합니다. 1바이트는 16진수 두 자리로 표시할 수 있고, 16진수임을 나타내기 위해 앞에 보통 0x 를 붙입니다. 예를 들어 2진수 11111111 은 0xFF 입니다.