CalcHub

진법 변환기

진법 변환기는 2진수, 8진수, 10진수, 16진수 사이의 변환을 한 번에 보여줍니다. 입력 진법을 선택하고 숫자를 입력하면 네 가지 진법으로 동시에 변환됩니다. BigInt로 계산하기 때문에 아무리 큰 수도 자릿수 제한 없이 정확하게 변환되며, 음수는 앞에 부호(-)를 붙이는 방식으로 지원합니다. 소수점은 미지원으로 정수만 지원합니다.

정수만 지원합니다 (소수점 미지원, 음수는 앞에 - 표기)

계산 예시

10진수 255를 다른 진법으로

10진수 255는 2진수로 1111 1111, 8진수로 377, 16진수로 FF입니다. 255 = 2⁸ − 1이라 2진수로 1이 8개 나란히 나옵니다.

16진수 FF를 10진수로

16진수 FF는 F(15) × 16 + F(15) = 240 + 15 = 255입니다. CSS 색상 #FF0000의 FF가 바로 빨강 성분 255를 의미합니다.

2진수 1010을 다른 진법으로

2진수 1010은 8 + 2 = 10(10진수)이고, 8진수로는 12, 16진수로는 A입니다. 16진수 한 자리는 2진수 네 자리와 정확히 대응합니다.

자주 묻는 질문

2진수란 무엇인가요?

2진수는 0과 1 두 개의 숫자만 사용하는 진법입니다. 컴퓨터는 전기 신호의 켜짐(1)과 꺼짐(0)으로 모든 데이터를 표현하기 때문에 내부적으로 모든 수를 2진수로 처리합니다. 각 자리는 오른쪽부터 1, 2, 4, 8, 16… 처럼 2의 거듭제곱 값을 가집니다.

16진수는 어디에 쓰이나요?

16진수는 2진수 네 자리를 한 글자로 줄여 쓸 수 있어 개발에서 널리 쓰입니다. 대표적으로 CSS 색상 코드(#FF5733), 메모리 주소(0x7FFF…), 바이너리 덤프, MAC 주소, 유니코드 코드포인트(U+AC00) 등이 16진수로 표기됩니다.

음수는 어떻게 표현하나요?

이 계산기는 부호 표기 방식을 사용합니다. 즉, 숫자 앞에 마이너스 기호(-)를 붙여 음수를 나타냅니다. 예를 들어 10진수 -10은 2진수로 -1010으로 표시됩니다. 컴퓨터 내부에서 실제로 사용하는 2의 보수 표현과는 다른 방식입니다.

2의 보수 표현과는 무엇이 다른가요?

2의 보수는 고정된 비트 수(예: 8비트, 32비트) 안에서 음수를 표현하는 방식으로, -10을 8비트 2의 보수로 나타내면 11110110이 됩니다. 이 계산기는 비트 수 제한이 없는 수학적 변환을 다루므로 부호(-)를 그대로 표기하는 방식을 사용합니다. 같은 음수라도 두 표기의 결과가 다르니 용도에 맞게 구분해서 사용하세요.

아주 큰 수도 변환할 수 있나요?

네. 이 계산기는 자바스크립트의 BigInt를 사용해 계산하므로 일반적인 64비트 정수 범위(약 9.2 × 10¹⁸)를 넘는 수백 자리 수도 오차 없이 정확하게 변환합니다. 다만 정수만 지원하며 소수점이 있는 수는 변환할 수 없습니다.

진법의 개념

진법(기수법)은 수를 표기하는 방법으로, n진법은 n개의 숫자를 사용하고 각 자리가 n의 거듭제곱 값을 가집니다. 우리가 일상에서 쓰는 10진법은 0~9의 열 개 숫자를 사용하며, 예를 들어 234는 2×10² + 3×10¹ + 4×10⁰을 의미합니다.

같은 원리로 2진수 1011은 1×8 + 0×4 + 1×2 + 1×1 = 11(10진수)이고, 16진수는 0~9 다음에 A(10)~F(15)의 문자를 숫자로 사용합니다. 어떤 진법이든 표현하는 '수' 자체는 같고 표기 방법만 다릅니다.

개발에서 진법이 쓰이는 곳

16진수는 2진수 4자리, 8진수는 2진수 3자리와 정확히 대응하기 때문에 긴 비트열을 짧게 표기하는 용도로 쓰입니다. 파일 권한(리눅스 chmod 755는 8진수), 색상 코드(#1E90FF), 비트 마스크(0xFF00), 메모리 주소, 해시 값 등이 대표적인 예입니다.

프로그래밍 언어에서는 접두사로 진법을 구분합니다. 0b1010(2진수), 0o755(8진수), 0xFF(16진수)처럼 표기하며, 이 계산기에서는 접두사 없이 숫자만 입력하면 됩니다.