Justin-book

CS 기본 개념(fundamentals) - 비트와 바이트, 2진수·16진수 표현

2025-10-17

요약

  • 비트는 0 또는 1의 상태, 바이트는 보통 8비트의 묶음.
  • 컴퓨터는 2진수 체계로 데이터를 표현하고 처리하며, 사람이 이해하기 쉬운 형태로 10진수, 16진수가 사용됨.
  • 컴퓨터 내부 구조 및 소프트웨어 동작 방식은 바로 이러한 수 체계 위에 놓여 있음.
항목핵심 요약
Bit컴퓨터의 가장 작은 데이터 단위 (0 또는 1)
Byte8비트 묶음, 문자 1개 저장 가능
Binary컴퓨터가 이해하는 기본 언어
Hexadecimal2진수를 사람이 보기 쉽게 표현한 16진법
변환2진수 ↔ 10진수 ↔ 16진수 계산 공식 숙지 필요

실무적 의미

영역예시설명
메모리 주소64비트 시스템 → 2⁶⁴ 메모리 공간 가능비트 수 = 주소 표현 범위
네트워크 서브넷255.255.255.0 = /24 → 2⁸ = 256 IP2진수 마스크 기반 계산
파일 크기1 KB = 1024 B = 2¹⁰ B2의 거듭제곱 기준 표현
그래픽 컬러24-bit Color = 2²⁴ 색상각 RGB 8비트 조합
비트 → 바이트 → 워드 확장 관계
graph TD B1["1 bit"] --> B8["8 bits = 1 Byte"] B8 --> W1["4 Bytes = 32-bit Word"] B8 --> W2["8 Bytes = 64-bit Word"]
2진수의 자리값(가중치) 구조
graph LR subgraph Binary_Place_Values["2진수 자리값 구조 (오른쪽이 낮은 자리)"] A0["2⁰ (1)"] -->|비트값| V0["1"] A1["2¹ (2)"] -->|비트값| V1["0"] A2["2² (4)"] -->|비트값| V2["1"] A3["2³ (8)"] -->|비트값| V3["1"] A4["2⁴ (16)"] -->|비트값| V4["0"] A5["2⁵ (32)"] -->|비트값| V5["1"] end

예시 101101₂ 의 각 자리별 가중치 합 = 45₁₀

참고자료


비트와 바이트, 2진수·16진수 표현

개요

컴퓨터 내부에서는 비트(bit) 단위로 데이터를 표현하고 처리합니다.
여기서 비트 = 0 또는 1 이며, 여러 비트를 묶어 바이트(byte) 등의 단위로 사용합니다.
2진수, 16진수 등은 사람이 이해하기 쉬운 형태로 이러한 비트 데이터를 표현하는 수 체계(number system) 입니다.


1. 비트 (bit)와 바이트 (byte)

  • 비트(bit)는 컴퓨터에서 표현 가능한 최소 단위로, 일반적으로 0 또는 1 두 가지 상태입니다.
  • 바이트(byte)는 보통 8비트(bit)로 구성되며, 하나의 바이트로 0부터 255 범위의 숫자 혹은 하나의 문자(예: ASCII) 등을 표현할 수 있습니다.
  • 예컨대 10001011₂ (2진수) 는 하나의 바이트로 해석될 수 있으며, 이 값은 139 또는 -117 등 여러 의미로 사용될 수 있습니다.

2. 진수 체계 (Number Systems)

2.1 10진수 (Decimal)

사람이 일상적으로 사용하는 수 체계로, 0~9까지 열 가지 숫자를 사용하며 자리값은 10의 거듭제곱으로 증가합니다.

2.2 2진수 (Binary)

컴퓨터는 전기 신호(켜짐 vs 꺼짐)로 데이터를 표현하기 때문에, 두 가지 상태(0,1)를 이용한 기수 2(radix 2) 체계를 사용합니다. 각 자리(왼쪽에서 오른쪽)에는 2⁰, 2¹, 2² … 등으로 가중치가 주어지고, 비트가 1일 경우 해당 가중치를 합산해 값을 구합니다.

예:

100101₂ = (1 × 2⁵) + (0 × 2⁴) + (0 × 2³) + (1 × 2²) + (0 × 2¹) + (1 × 2⁰)
= 32 + 0 + 0 + 4 + 0 + 1
= 37₁₀
진법기수(radix)사용 숫자예시
2진수20, 1101101₂
8진수80 ~ 755₈
10진수100 ~ 945₁₀
16진수160 ~ 9, A ~ F2D₁₆

2.3 16진수 (Hexadecimal)

기수 16(radix 16)을 사용하는 체계로, 0~9 숫자와 A(10)~F(15) 문자를 사용합니다.
4비트(bit)가 하나의 16진수 자리로 변환 가능하므로, 2진수 ↔ 16진수 간 표현이 매우 편리합니다. 예: 1111011011₂3DB₁₆ (그룹화된 4비트 단위로 계산)


3. 컴퓨터 구조 관점에서의 의미

  • 프로그램은 궁극적으로 기계가 이해하는 0과 1의 조합으로 변환되어 실행됩니다.
  • 메모리, 저장장치, 네트워크 등 컴퓨터 내부의 많은 시스템이 비트 수준(bit-level) 으로 데이터를 표현하고 처리합니다.
  • 따라서 컴퓨터 과학(CS) 학습에서는 자료가 어떻게 “저장되어”, 어떻게 “표현”되고, 어떻게 “처리되는가”를 이해하는 것이 매우 중요합니다.

4. 변환 계산 예제

🔹 ① 2진수 → 10진수


101101₂ = (1×2⁵) + (0×2⁴) + (1×2³) + (1×2²) + (0×2¹) + (1×2⁰)
= 32 + 0 + 8 + 4 + 0 + 1
= 45₁₀

🔹 ② 10진수 → 2진수

10진수 45를 2로 나눈 나머지를 역순으로 읽습니다.

나눗셈나머지
45 ÷ 2221
22 ÷ 2110
11 ÷ 251
5 ÷ 221
2 ÷ 210
1 ÷ 201

👉 역순으로 읽으면 101101₂

🔹 ③ 2진수 ↔ 16진수 변환

4비트씩 묶어서 1 개의 16진수로 표현합니다.

2진수 (4 bit)16진수
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
1010A
1011B
1100C
1101D
1110E
1111F

예) 101101₂ → 0010 1101₂ → 2D₁₆