🔧툴박스
홈계산기텍스트·개발변환·생성디자인For Fun궁합가이드
🔧툴박스

설치 없이 바로 사용하는
무료 온라인 도구 30가지

계산기

  • 연봉계산기
  • BMI 계산기
  • 날짜 계산기
  • 비율·퍼센트 계산기
  • 화면 비율 계산기
  • 양력 음력 변환기

텍스트·개발

  • 글자수 세기
  • JSON 포맷터
  • 유닉스 타임스탬프
  • 케이스 변환기
  • 문자열 인코딩
  • 특수문자 복사

변환·생성

  • 단위 변환기
  • 이미지 변환기
  • UUID 생성기
  • QR코드 생성기
  • 비밀번호 생성기
  • 색상 도구

함께 이용하면 더 좋아요

📅 쉬는날 — 공휴일·황금연휴👶 맘맵 — 임신·육아 정보
🌐kimgoon.kr더 많은 서비스 보기
서비스 소개·개인정보처리방침·이용약관

© 2026 툴박스 (tools.kimgoon.kr). All rights reserved.

본 사이트의 계산 결과는 참고용이며, 정확한 정보는 관련 기관에 문의해 주세요.

툴박스 가이드
개발자 도구2026년 4월 24일4분 읽기

진법 변환과 컴퓨터의 수 표현 - 2진법·8진법·16진법 실전 활용

컴퓨터는 2진법으로 동작하고, 코드에서는 16진법이 자주 등장합니다. 진법이 무엇이고 왜 컴퓨터가 2/8/16진법을 쓰는지, 변환 방법과 실무에서 자주 만나는 케이스를 정리했습니다.

진법(N진법)이란?

진법은 숫자를 표현하는 방식입니다. 우리가 평소 쓰는 10진법은 0~9 열 가지 숫자만으로 모든 수를 표현하고, 자릿수가 올라갈 때마다 10배가 돼요. 123은 1×100 + 2×10 + 3을 의미합니다. 컴퓨터는 0과 1 두 가지만 쓰는 2진법, 코드에서는 0~F 열여섯 가지를 쓰는 16진법도 자주 등장해요. 어떤 진법이든 약속만 다를 뿐 같은 값을 표현할 수 있습니다. 10진법의 255는 2진법으로 11111111, 16진법으로 FF예요. 셋 다 같은 값입니다.

컴퓨터가 2진법을 쓰는 이유

컴퓨터의 모든 회로는 결국 전기가 흐르거나(1) 흐르지 않거나(0) 두 상태를 구별하는 트랜지스터로 만들어집니다. 0과 1만 다룰 수 있다면 가장 간단하고 확실하게 신호를 구별할 수 있어요. 만약 0~9 열 단계의 전압을 구별하려면 잡음·온도 변화에 매우 민감해져 신뢰성이 떨어집니다. 그래서 디지털 컴퓨터의 내부는 모두 2진법이고, 1바이트는 8비트(2진수 8자리), 1킬로바이트는 1024바이트(2의 10제곱)예요. 컴퓨터를 다룰 때 8, 16, 32, 64 같은 숫자가 자주 등장하는 이유도 모두 2의 거듭제곱이기 때문입니다.

16진법은 왜 코드에 자주 등장할까?

2진법은 사람이 읽기 너무 깁니다. 1바이트가 8자리(11111111)니 큰 숫자는 한 줄을 다 차지해요. 16진법은 4비트를 한 자리로 표현해 길이를 4분의 1로 줄입니다. 1바이트(8비트)는 16진법 2자리(00~FF)면 충분해요. 그래서 코드·메모리 주소·색상 코드(#FF5733)·MAC 주소·해시 값 등은 거의 모두 16진법으로 표시됩니다. JavaScript에서 0xFF는 255, 0x10은 16, Python에서 0o17은 8진법 15, 0b101은 2진법 5예요. 16진법 한 자리는 정확히 4비트라 비트 단위 작업과 매핑이 자연스러워, 임베디드·시스템 프로그래밍에서 사실상 표준이 됩니다.

진법 간 변환의 기본

진법 변환은 단순한 산수예요. 다른 진법 → 10진법 변환은 자릿수에 진법 거듭제곱을 곱해 더하기.

  • 2진법 1011 = 1×8 + 0×4 + 1×2 + 1 = 11
  • 16진법 2A = 2×16 + 10 = 42

10진법 → 다른 진법 변환은 진법으로 계속 나누면서 나머지를 모으는 방식입니다.

  • 10진법 11 → 2진법: 11÷2=5나머지1, 5÷2=2나머지1, 2÷2=1나머지0, 1÷2=0나머지1 → 거꾸로 읽으면 1011

자주 쓰는 변환은 머릿속에 표를 그려두면 빨라요. 0=0000, 1=0001, ..., 15=1111(F)처럼 16개만 외우면 16진법과 2진법 간 변환은 한 자리씩 매핑해서 즉시 가능합니다.

부호와 음수 표현 - 2의 보수

음수는 어떻게 표현할까요? 컴퓨터는 2의 보수(twos complement) 라는 방식을 씁니다. 8비트 정수에서 -1은 11111111이 되고, 1을 더하면 100000000(9비트)이 되는데 8비트로 자르면 00000000(0)이 되어 일관성 있게 작동해요. 가장 왼쪽 비트(MSB)가 부호 비트로 작동해 0이면 양수, 1이면 음수를 의미합니다. 이 방식 덕분에 더하기·빼기 회로가 같이 동작할 수 있어요. 정수 오버플로의 기묘한 동작(예: 32비트 int에서 2147483647+1이 -2147483648)도 2의 보수에서 비롯됩니다.

비트 연산의 실전 활용

진법을 이해하면 비트 연산이 자연스러워져요. 자주 쓰는 비트 연산 몇 가지입니다.

  • AND (&): 마스킹. 특정 비트만 추출. (color >> 16) & 0xFF로 RGB의 R 채널 추출.
  • OR (|): 플래그 합치기. FLAG_A | FLAG_B.
  • XOR (^): 토글, 두 값 교환, 단순 암호화.
  • 시프트 (<<, >>): 비트를 이동. n << 3은 n × 8과 같음.
  • NOT (~): 모든 비트 반전.

플래그를 묶어 한 정수로 표현하거나, 메모리를 절약하거나, 권한 시스템을 만들 때 자주 사용해요. 예: 권한 = READ(1) | WRITE(2) | EXEC(4)로 표현.

도구로 진법 변환하기

툴박스의 진법 변환기는 2진법·8진법·10진법·16진법을 양방향으로 즉시 변환합니다. 디버깅 중 메모리 주소·플래그 값·해시·색 코드를 사람이 읽기 좋은 형식으로 바꿔야 할 때 빠르게 활용하세요. 진법 자체는 익숙해지면 어렵지 않지만, 매일 쓰지 않는 변환은 머릿속 계산에서 실수가 잦으니 의심스러우면 도구로 검증하는 습관이 안전합니다. 컴퓨터 내부 동작에 가까운 코드를 다룬다면 16진법과 2진법은 평생 쓰는 무기가 돼요.

관련 가이드

kimgoon.kr

kimgoon 생활정보 가이드

tools.kimgoon.kr

개발자 도구 가이드 더 보기

tools.kimgoon.kr

툴박스 도구 모음

태그

#진법 변환#2진법#16진법#8진법#비트#컴퓨터 수 표현#오버플로
공유

관련 글 더 보기

UUID vs 랜덤 문자열 vs 타임스탬프 - 식별자 선택의 기준
개발자 도구

UUID vs 랜덤 문자열 vs 타임스탬프 - 식별자 선택의 기준

4분 읽기

인코딩·디코딩 종류와 차이 - Base64·URL·HTML 엔티티 완벽 정리
개발자 도구

인코딩·디코딩 종류와 차이 - Base64·URL·HTML 엔티티 완벽 정리

4분 읽기

Unix 타임스탬프 이해하기 - epoch 시간·timezone·변환 가이드
개발자 도구

Unix 타임스탬프 이해하기 - epoch 시간·timezone·변환 가이드

4분 읽기

목록으로 돌아가기