컴퓨터/정보>중등 정보>진법 변환과 2진수 연산
개념 정리

진법 변환과 2진수 연산

단원 개요
컴퓨터의 기초 언어인 2진법, 8진법, 10진법, 16진법 상호 변환 및 비트 단위 덧셈·뺄셈·시프트 연산의 하드웨어적 원리를 학습합니다.
선수 개념
필수 키워드:트랜지스터와 스위칭 소자신호 무결성과 노이즈 내성2진법(Binary)정보의 기본 단위비트(Bit, Binary Digit)바이트(Byte)10진수 ➔ 2진수 변환정수부역순(아래에서 위로)소수부
1

컴퓨터가 2진수를 사용하는 이유와 비트·바이트 체계

•
트랜지스터와 스위칭 소자: 현대 디지털 컴퓨터의 하드웨어는 수십억 개의 미세한 반도체 트랜지스터(MOSFET)로 구성됩니다. 트랜지스터는 전압의 높음(High, 약 3.3V3.3\text{V} 또는 5V→15\text{V} \rightarrow 1)과 낮음(Low, 0V→00\text{V} \rightarrow 0)이라는 두 가지 상태만을 구분하여 작동합니다.
•
신호 무결성과 노이즈 내성: 만약 10진수처럼 전압을 10단계(0.5V,1.0V,…0.5\text{V}, 1.0\text{V}, \dots)로 나누어 인식한다면, 전자기적 잡음(Noise)이나 온도 변화로 인해 전압이 조금만 흔들려도 데이터가 왜곡됩니다. 반면 2진법(Binary)은 임계 전압을 기준으로 켜짐(On, 1)과 꺼짐(Off, 0)만 판별하므로 신뢰성이 압도적으로 높고 논리 회로 설계가 단순해집니다.
•
정보의 기본 단위:
•
비트(Bit, Binary Digit): 0 또는 1 하나를 저장하는 최소 정보 단위입니다. nn비트로 표현할 수 있는 고유한 상태의 개수는 2n2^n개입니다.
•
바이트(Byte): 8개의 비트를 묶은 단위로, 컴퓨터 메모리 주소 지정의 기본 단위입니다 (28=2562^8 = 256가지 값 표현 가능).
핵심 원리
n개의 비트가 모이면 총 2^n개의 서로 다른 정보를 표현할 수 있습니다. 특히 8비트 = 1바이트(2^8 = 256가지)와 2^10 = 1,024(1 KiB 기준)는 컴퓨터 공학 계산의 가장 중요한 기준값입니다.
2

진법 간 상호 변환 (2진법, 8진법, 10진법, 16진법)

1
10진수 ➔ 2진수 변환:
•
정수부: 10진수를 2로 몫이 0이 될 때까지 반복해서 나누고, 나온 나머지들을 역순(아래에서 위로)으로 적습니다. 또는 2n2^n 가중치(128,64,32,16,8,4,2,1128, 64, 32, 16, 8, 4, 2, 1)의 합으로 분해하여 해당 자리에 1을 채웁니다.
•
소수부: 소수 부분에 2를 반복해서 곱하며 결과의 정수 부분(0 또는 1)을 순서대로(위에서 아래로) 기록합니다 (예: 0.62510=0.5+0.125=2−1+2−3=0.10120.625_{10} = 0.5 + 0.125 = 2^{-1} + 2^{-3} = 0.101_2).
2
2진수 ➔ 8진수 / 16진수 고속 변환:
•
2진수는 자릿수가 너무 길어 사람이 읽고 쓰기 불편하므로, 23=82^3 = 8과 24=162^4 = 16의 관계를 이용해 압축 표기합니다.
•
8진수(Octal) 변환: 소수점을 기준으로 2진수를 3비트씩 묶어 0∼70 \sim 7로 치환합니다.
•
16진수(Hexadecimal) 변환: 소수점을 기준으로 2진수를 4비트씩 묶어 0∼90 \sim 9 및 A(10),B(11),C(12),D(13),E(14),F(15)\text{A}(10), \text{B}(11), \text{C}(12), \text{D}(13), \text{E}(14), \text{F}(15)로 치환합니다.
•
예: 110101102=(1101)2(0110)2=D61611010110_2 = (1101)_2 (0110)_2 = \text{D6}_{16}, 8진수로는 (011)2(010)2(110)2=3268(011)_2 (010)_2 (110)_2 = 326_8.
학습 도움말
2진수 4자리 묶음의 가중치 '8-4-2-1'을 외워두면 10진수를 거치지 않고도 2진수와 16진수를 1초 만에 암산으로 상호 변환할 수 있습니다.
풀이

1) 214를 2의 거듭제곱 합으로 분해하면 214 = 128 + 64 + 16 + 4 + 2 = 2⁷ + 2⁶ + 2⁴ + 2² + 2¹입니다.

따라서 8비트 2진수로 나타내면 11010110₂입니다.

2) 11010110₂를 4비트씩 나누면 1101₂(8+4+1=13=D)와 0110₂(4+2=6)이므로 16진수는 0xD6(D6₁₆)입니다.

3) 1011.01₂ = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ + 0×2⁻¹ + 1×2⁻² = 8 + 0 + 2 + 1 + 0 + 0.25 = 11.25₁₀입니다.

3

실무·시스템 적용 사례 및 비트 시프트 연산 포인트

•
메모리 주소와 웹 컬러 코드:
•
디버거에서 확인하는 메모리 주소(0x7fff5fbff8c0), 네트워크 MAC 주소(00:1A:2B:3C:4D:5E), IPv6 주소는 모두 바이트 단위를 직관적으로 표현하기 위해 16진수를 사용합니다.
•
웹 디자인의 RGB 색상 코드 #FF5733은 Red(FF = 255), Green(57 = 87), Blue(33 = 51) 각각 1바이트(8비트)씩 총 24비트 트루컬러를 16진수로 표현한 것입니다.
•
비트 시프트(Bitwise Shift) 연산을 통한 고속 곱셈·나눗셈:
•
CPU에서 일반 곱셈·나눗셈 명령어보다 비트 이동 명령어가 훨씬 빠르게(1클럭 내외) 실행됩니다.
•
왼쪽 시프트(n << k): 비트를 왼쪽으로 kk칸 밀고 빈자리를 0으로 채우며, 수학적으로 n×2kn \times 2^k과 같습니다.
•
오른쪽 시프트(n >> k): 비트를 오른쪽으로 kk칸 밀며, 양수 기준 ⌊n/2k⌋\lfloor n / 2^k \rfloor (몫 연산)과 같습니다.

핵심 요약

  • ✓
    컴퓨터는 하드웨어 신호의 안정성(Noise 내성)을 위해 전압의 On/Off에 대응하는 2진수를 기본 단위로 사용한다.
  • ✓
    2진수를 3비트씩 묶으면 8진수, 4비트씩 묶으면 16진수(0~9, A~F)로 즉시 변환할 수 있다.
  • ✓
    1바이트(8비트)는 16진수 두 자리(0x00 ~ 0xFF)와 정확히 1:1 대응되어 메모리 주소와 컬러 코드 표기에 쓰인다.
  • ✓
    왼쪽 시프트(<< k)는 2^k배 곱셈, 오른쪽 시프트(>> k)는 2^k로 나눈 몫 연산과 동일하여 성능 최적화에 활용된다.

설명 다음에는 직접 풀어 보세요

함께 풀기와 자기 설명을 거쳐 새 문제에 도전해요. 막힌 부분은 보충하고, 다른 날 다시 기억하는지 확인할 수 있어요.

이 단원의 수업 시작하기 →
5문항 연습 세트

진법 변환과 2진수 연산 단원 연습 문제

개념을 읽은 뒤 연습 문제로 이해한 내용을 확인해 보세요. 한 세트는 5문항이며, 답안을 제출하면 정답과 풀이를 볼 수 있습니다.

한 세트 5문항 단계별 상세 해설 시험지 PDF 인쇄 지원

참고 근거와 확인 범위

설명·예제·문제 구성 및 오류 수정 책임: 프리런. 위 자료는 표시한 주제를 확인하거나 더 읽기 위한 근거이며, 외부 기관의 공식 수업이나 감수본을 뜻하지 않습니다.

참고 자료 연결 점검: 2026-11-02. 제작 방식·검수 범위와 수정 기록에서 확인 범위를 볼 수 있습니다. 오류는 상단의 의견 보내기 또는 contact@freelearn.io로 알려 주세요.