CalcBang

진법 변환기 - 2진·8진·10진·16진 변환

2진수 (Binary)

0b11111111

8진수 (Octal)

0o377

10진수 (Decimal)입력

255

16진수 (Hex)

0xFF

변환 상세

입력값255 (10진수 (Decimal))
10진수255
2진수11111111
8진수377
16진수FF
비트 수8비트

※ 이 계산기는 정수(양수)만 지원하며, JavaScript의 안전한 정수 범위(2^53 - 1) 내에서 정확한 결과를 제공합니다.

진법 변환 가이드

진법(기수법)이란?

진법은 수를 표현하는 체계로, 사용하는 숫자의 개수에 따라 구분됩니다. 각 자리의 값은 '기수의 거듭제곱'으로 결정됩니다.

진법기수사용 숫자주요 용도
2진수 (Binary)20, 1CPU 연산, 비트 연산, 네트워크
8진수 (Octal)80-7리눅스 파일 권한 (chmod)
10진수 (Decimal)100-9일상생활 수 체계
16진수 (Hex)160-9, A-F색상 코드, 메모리 주소, MAC

진법 간 대응표

10진수2진수8진수16진수
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
16100002010
321000004020
64100000010040
1281000000020080
25511111111377FF
256100000000400100

변환 방법

10진수 → 2진수 (나누기 방법)

  1. 10진수를 2로 나누고 나머지를 기록
  2. 몫이 0이 될 때까지 반복
  3. 나머지를 역순으로 읽음

예시: 42를 2진수로

  • 42 ÷ 2 = 21 나머지 0
  • 21 ÷ 2 = 10 나머지 1
  • 10 ÷ 2 = 5 나머지 0
  • 5 ÷ 2 = 2 나머지 1
  • 2 ÷ 2 = 1 나머지 0
  • 1 ÷ 2 = 0 나머지 1
  • 역순: 101010 (2진수)

2진수 → 16진수 (4비트 그룹핑)

예시: 2진수 10101100 → 16진수

  • 1010 / 1100 → A / C → AC (16진수)

2진수 → 8진수 (3비트 그룹핑)

예시: 2진수 10101100 → 8진수

  • 10 / 101 / 100 → 2 / 5 / 4 → 254 (8진수)

프로그래밍 언어별 진법 표기

언어2진수8진수16진수출력 변환
JavaScript0b10100o120xAtoString(2/8/16)
Python0b10100o120xAbin()/oct()/hex()
Java0b10100120xAInteger.toBinaryString()
C/C++0b10100120xAprintf("%b/%o/%x")
CSS (색상)--#RRGGBBrgb() 대안

실용 응용 예시

1. CSS 색상 코드

  • 빨강: #FF0000 = rgb(255, 0, 0)
  • 초록: #00FF00 = rgb(0, 255, 0)
  • 파랑: #0000FF = rgb(0, 0, 255)
  • 흰색: #FFFFFF = rgb(255, 255, 255)
  • 검정: #000000 = rgb(0, 0, 0)

2. 리눅스 파일 권한 (chmod)

8진수2진수권한설명
7111rwx읽기+쓰기+실행
6110rw-읽기+쓰기
5101r-x읽기+실행
4100r--읽기만
0000---권한 없음

chmod 755 = rwxr-xr-x (소유자: 모든 권한, 그룹/기타: 읽기+실행)

3. IPv4 서브넷 마스크

  • 255.255.255.0 = 11111111.11111111.11111111.00000000 = /24 CIDR
  • 255.255.0.0 = /16 CIDR

실용 팁

  1. 4비트 = 16진수 1자리 — 2진수↔16진수 변환의 핵심 규칙. 외우면 변환이 빨라집니다.
  2. 3비트 = 8진수 1자리 — chmod 권한 이해에 필수.
  3. 2의 거듭제곱 암기 — 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 (프로그래밍 필수).
  4. 색상 코드 활용 — #RGB에서 각 2자리가 Red, Green, Blue 값(00FF = 0255).
  5. 계산기 활용 — 복잡한 변환은 프로그래밍 계산기나 이 도구를 활용하세요.

참고

  • IEEE 754: 부동소수점 표현 표준 (2진수 기반)
  • RFC 4291: IPv6 주소 표기법 (16진수)
  • POSIX: 파일 권한 체계 (8진수)

※ 이 계산기는 정수 범위의 진법 변환을 지원합니다. 소수점 이하 변환이나 음수(2의 보수) 표현은 지원하지 않습니다.

자주 묻는 질문

진법 변환이란 무엇인가요?

진법 변환은 하나의 수를 다른 진법(기수법)으로 표현하는 것입니다. 예를 들어 10진수 255는 2진수로 11111111, 8진수로 377, 16진수로 FF입니다. 컴퓨터 과학, 프로그래밍, 디지털 회로 설계, 네트워크(IP/서브넷), 색상 코드 등에서 자주 사용됩니다.

2진수(Binary)는 어디에 사용되나요?

2진수는 0과 1만 사용하는 수 체계로, 컴퓨터의 가장 기본적인 데이터 표현 방식입니다. CPU 연산, 메모리 주소, 네트워크 서브넷 마스크(255.255.255.0 = 11111111.11111111.11111111.00000000), 비트 플래그, 디지털 논리 회로 등에 사용됩니다.

16진수(Hexadecimal)는 왜 사용하나요?

16진수는 0-9와 A-F를 사용하는 수 체계로, 2진수를 간결하게 표현할 수 있어 프로그래밍에서 가장 널리 사용됩니다. 색상 코드(#FF5733), 메모리 주소(0x7FFF0000), MAC 주소(00:1A:2B:3C:4D:5E), 유니코드(U+AC00 = '가'), 바이트 데이터 표현 등에 사용됩니다.

8진수(Octal)는 언제 사용하나요?

8진수는 0-7을 사용하며, 리눅스/유닉스의 파일 권한 설정(chmod 755, chmod 644 등)에서 가장 흔히 사용됩니다. 8진수 한 자리는 2진수 3비트에 대응하여, 읽기(4)/쓰기(2)/실행(1) 권한을 조합합니다. 예: 755 = rwxr-xr-x (소유자: 모든 권한, 그룹/기타: 읽기+실행).

10진수를 2진수로 변환하는 방법은?

10진수를 2진수로 변환하려면 해당 수를 2로 반복해서 나누고, 나머지를 역순으로 읽으면 됩니다. 예: 13 → 13÷2=6 나머지 1, 6÷2=3 나머지 0, 3÷2=1 나머지 1, 1÷2=0 나머지 1 → 역순으로 **1101**. 소수 부분은 2를 반복해서 곱하고 정수 부분을 순서대로 읽습니다.

2진수에서 16진수로 바로 변환할 수 있나요?

네, 2진수를 오른쪽부터 4비트씩 묶어 각 묶음을 16진수 한 자리로 변환하면 됩니다. 예: 2진수 11111111 → 1111 / 1111 → F / F → 16진수 **FF**. 반대로 16진수 한 자리를 4비트 2진수로 풀면 16진수에서 2진수로 변환됩니다.

프로그래밍에서 진법을 표기하는 방법은?

대부분의 프로그래밍 언어에서 2진수는 0b 접두사(0b1010), 8진수는 0o(Python/JS) 또는 0(C/Java) 접두사(0o12 또는 012), 16진수는 0x 접두사(0xA)를 사용합니다. 10진수는 접두사 없이 그대로 씁니다. CSS에서 색상 코드는 #RRGGBB 형식의 16진수를 사용합니다.

관련 계산기