진법 변환기

2진수, 8진수, 10진수, 16진수를 실시간으로 상호 변환합니다.

입력

입력 진법

2진수 (Binary)

11111111

0b11111111

  • 8진수 (Octal)3770o377
  • 10진수 (Decimal)255
  • 16진수 (Hex)FF0xFF

2진수 (Binary) 11111111, 8진수 (Octal) 377, 10진수 (Decimal) 255, 16진수 (Hex) FF

풀이 보기4단계
결과 공유하기

진법 변환기는 2진수(Binary), 8진수(Octal), 10진수(Decimal), 16진수(Hexadecimal)를 실시간으로 상호 변환하는 도구입니다. 하나의 진법에 숫자를 입력하면 나머지 세 가지 진법의 값이 즉시 표시됩니다. 프로그래밍, 디지털 회로 설계, 네트워크 주소 분석 등 컴퓨터 과학 분야에서 필수적인 도구입니다. 진법 버튼을 클릭하면 입력 진법이 변경되어 다양한 방향의 변환이 가능합니다.

실생활 예시

이럴 때 이렇게 계산해요.

  • IP 주소 분석

    사례 01

    192.168.1.1의 각 옥텟을 2진수로 변환하면 11000000.10101000.00000001.00000001이 됩니다.

    서브넷 마스크와 AND 연산을 할 때 2진수 변환이 필수적입니다.

  • 파일 권한 설정

    사례 02

    chmod 755를 설정하면 7=111(rwx), 5=101(r-x)로 풀어집니다.

    소유자는 읽기/쓰기/실행, 그룹과 기타는 읽기/실행 권한을 갖습니다.

  • 색상 코드 분석

    사례 03

    CSS 색상 #3B82F6에서 R=3B(16)=59(10), G=82(16)=130(10), B=F6(16)=246(10)으로 분해됩니다.

    16진수 색상 코드를 10진수 RGB 값으로 변환하면 색상의 R, G, B 비율을 직관적으로 이해할 수 있습니다.

  • ASCII 코드 확인

    사례 04

    문자 "A"의 ASCII 코드는 10진수 65, 16진수 41, 2진수 01000001입니다.

    프로그래밍에서 문자와 숫자 사이의 변환을 이해하는 데 진법 변환이 필수적입니다.

자주 묻는 질문

궁금한 거 모아 봤어요. 눌러서 펼쳐 보세요.

16진수는 왜 사용하나요?

16진수는 2진수를 간결하게 표현하기 위해 사용합니다. 2진수 4자리 = 16진수 1자리이므로, 긴 2진수를 짧게 쓸 수 있습니다. 예: 11111111(2) = FF(16). 색상코드(#FF0000), 메모리 주소 등에 널리 사용됩니다.

8진수는 어디에 사용되나요?

8진수는 Unix/Linux 파일 권한(chmod 755 등)에서 주로 사용됩니다. 2진수 3자리 = 8진수 1자리로, rwx 권한을 간단하게 표현할 수 있습니다.

변환할 수 있는 숫자 범위는?

JavaScript의 안전한 정수 범위(2^53 - 1 = 9,007,199,254,740,991)까지 변환 가능합니다.

10진수를 2진수로 어떻게 변환하나요?

10진수를 2로 계속 나누어 나머지를 역순으로 읽으면 됩니다. 예: 13 → 13÷2=6...1, 6÷2=3...0, 3÷2=1...1, 1÷2=0...1 → 역순으로 1101(2). 이 계산기를 사용하면 이 과정을 즉시 수행할 수 있습니다.

16진수에서 A~F는 무엇을 의미하나요?

16진수는 0~15까지 16개의 숫자가 필요한데, 10부터는 A(10), B(11), C(12), D(13), E(14), F(15)로 알파벳을 사용합니다. 대소문자는 구분하지 않아 FF와 ff는 같습니다.

프로그래밍에서 진법을 어떻게 표기하나요?

대부분의 프로그래밍 언어에서 2진수는 0b 접두사(0b1101), 8진수는 0o(0o15), 16진수는 0x(0xFF)를 사용합니다. 접두사 없는 숫자는 10진수로 인식됩니다.

계산 원리

N진법(base-N)에서 각 자릿수는 N^k(k는 0부터 시작하는 자릿수 위치)의 가중치를 갖습니다. 10진수 → N진수: 10진수를 N으로 반복 나누어 나머지를 역순으로 나열합니다. N진수 → 10진수: 각 자릿수에 N^k를 곱하여 합산합니다. 예: 1101(2) = 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 8+4+0+1 = 13(10).

2진수와 16진수의 관계: 2⁴ = 16이므로, 2진수 4자리가 정확히 16진수 1자리에 대응합니다. 0000=0, 0001=1, ..., 1001=9, 1010=A, ..., 1111=F. 이 성질 때문에 컴퓨터에서 16진수가 2진수의 축약 표기로 널리 사용됩니다. 마찬가지로 2³ = 8이므로 2진수 3자리 = 8진수 1자리입니다.

변환 정확성: 정수의 진법 변환은 수학적으로 정확하며 손실이 없습니다. 다만 프로그래밍에서 부동소수점(floating-point)을 진법 변환할 때는 IEEE 754 표현의 한계로 미세한 오차가 발생할 수 있습니다. 이 변환기는 정수만 다루므로 정확한 변환을 보장합니다.

사용 방법

총 소요 시간: 약 10초
  1. 입력 진법 선택

    2진수, 8진수, 10진수, 16진수 중 입력할 진법을 선택합니다.

  2. 숫자 입력

    변환할 숫자를 입력합니다.

  3. 결과 확인

    나머지 세 가지 진법의 변환 결과를 확인합니다.

용어 사전

2진수 (Binary)
0과 1 두 가지 숫자만 사용하는 진법으로, 컴퓨터의 기본 데이터 표현 방식입니다.
8진수 (Octal)
0~7 여덟 가지 숫자를 사용하는 진법으로, Unix 파일 권한 표기에 주로 사용됩니다.
10진수 (Decimal)
0~9 열 가지 숫자를 사용하는 일상적인 진법입니다.
16진수 (Hexadecimal)
0~9와 A~F 열여섯 가지 기호를 사용하는 진법으로, 메모리 주소와 색상 코드에 사용됩니다.
ASCII
영문 알파벳과 특수문자를 7비트(0~127) 숫자에 대응시킨 문자 인코딩 표준입니다.
비트 (Bit)
이진수 한 자리(0 또는 1)로, 디지털 정보의 최소 단위입니다. 8비트 = 1바이트.