I. 자료와 자료 구조

2. 비트, 바이트, 진법이란? · 약 5분

← 전체 목차 이 단원 목차

🎮 이 단원이 게임에서 쓰이는 곳 (언더테일·RPG)

비트·진법 = 세이브 파일의 HP·골드·플래그는 결국 숫자로 저장되고, 메모리에는 2진수로 들어가요. 비트 플래그(업적 달성 여부, 맵 열림 여부)는 한 비트가 하나의 on/off를 나타내요. 16진수는 색상 코드(#FF5500)나 디버깅에서 자주 보입니다.

컴퓨터는 0과 1로 저장해요

컴퓨터 안에서는 모든 자료가 0과 1(2진수)로 바뀌어 저장돼요. 전기 신호가 있음(1) / 없음(0)으로 구분되기 때문이에요.

비트(bit, 비트)

비트는 0 하나 또는 1 하나를 말해요. Binary(바이너리) + digit(디짓)의 줄임말이에요. 컴퓨터가 쓰는 가장 작은 단위입니다.

바이트(byte, 바이트)

비트 8개를 묶은 단위가 바이트예요. 게임 세이브에서 HP 한 칸, 글자 하나(영문)는 보통 1바이트. 프로그래밍기능사에서 "1바이트 = 8비트"는 기본으로 나와요.

📖 어원 "byte"는 한 입 베어 문 양이란 뜻의 "bite"에서 왔어요. bit와 헷갈리지 않게 y로 바꿨대요. 더 보기 →

진법이란?

진법은 수를 셀 때 "몇 개씩 묶어서 자릿수를 올리느냐"를 정한 거예요.

📌 이론(진법·변환) ↔ 파이썬 함수

진법 10진 → 2진/16진 문자열 → bin(정수), hex(정수)  |  2진/16진 문자열 → 10진 → int(문자열, 밑)

대응 정수를 2진수·8진수·16진수 문자열로 바꾸거나, 그 반대로 바꿀 때 쓰는 함수예요.

bin(정수)
정수를 2진수 문자열로 바꿔요. 예: bin(25)'0b11001'. 앞의 0b는 2진수라는 표시예요.
hex(정수)
정수를 16진수 문자열로 바꿔요. 예: hex(255)'0xff'. 0x는 16진수 표시예요.
int(문자열, 밑)
문자열을 지정한 밑(진법)으로 해석해서 정수로 바꿔요. 예: int('11001', 2) → 25, int('ff', 16) → 255.

왜 이렇게 쓰나요? 진법 변환을 손으로 하지 않고, 코드로 "확인"할 때 위 함수들을 쓰면 됩니다. 실습에서는 print(bin(25))처럼 출력해 보세요.

🐍 파이썬으로 실습 (이 페이지 안에서)