진법 변환기, 2·8·10·16진수를 한 번에
컴퓨터와 프로그래밍에서는 같은 수를 여러 가지 진법으로 표현합니다. 우리가 일상에서 쓰는 10진수 외에도, 컴퓨터 내부 동작을 나타내는 2진수, 권한 표기에 쓰이는 8진수, 색상 코드나 메모리 주소에 자주 등장하는 16진수가 대표적입니다. 이 진법 변환기는 변환할 숫자와 그 숫자가 어떤 진법으로 쓰여 있는지(입력 진법)만 선택하면, 나머지 세 진법을 포함해 2진수·8진수·10진수·16진수를 동시에 보여줍니다. 별도의 계산 없이 진수 변환을 즉시 끝낼 수 있습니다.
각 진법은 어디에 쓰일까
2진수는 0과 1만으로 모든 값을 표현하는 컴퓨터의 기본 언어입니다. CPU의 비트 연산, 플래그, 마스크 계산 등에서 직접 다루게 됩니다. 8진수는 0부터 7까지를 사용하며, 리눅스·유닉스 파일 권한(chmod 755 등)에서 흔히 보입니다. 16진수는 0~9와 A~F를 쓰며, 4비트를 한 자리로 압축할 수 있어 색상 코드(#FF8800), 메모리 주소, 해시 값, 바이트 표현 등 개발 현장 곳곳에서 사용됩니다. 16진수 한 자리가 정확히 2진수 4비트에 대응하기 때문에, 2진수 16진수 변환은 4비트씩 묶기만 하면 빠르게 처리할 수 있습니다.
10진수 2진수 변환의 원리
10진수를 다른 진법으로 바꾸는 가장 기본적인 방법은 '나머지를 이용한 나눗셈'입니다. 예를 들어 10진수 255를 2진수로 바꾸려면 255를 2로 계속 나누면서 나머지를 거꾸로 읽으면 11111111이 됩니다. 16진수로 바꿀 때는 16으로 나누어 255 = 15×16 + 15, 즉 FF가 됩니다. 반대로 2진수나 16진수를 10진수로 되돌릴 때는 각 자릿값에 진법의 거듭제곱을 곱해 더합니다. 이 도구는 이러한 변환 과정을 내부적으로 자동 처리하므로, 손으로 나눗셈을 반복할 필요 없이 정확한 값을 즉시 얻을 수 있습니다.
이 도구 활용법
- 입력 진법을 정확히 선택하세요. 같은 "10"이라도 2진수면 값 2, 16진수면 값 16으로 해석됩니다.
- 16진수 입력 시 대소문자를 구분하지 않으며, 0x 접두사를 붙여도 자동으로 처리됩니다.
- 결과 영역에서 비트 수를 함께 보여주므로, 자료형 크기(8비트·16비트 등)를 가늠할 때 유용합니다.
- 복사하기 버튼으로 변환 결과 전체를 클립보드에 담아 코드나 메모에 바로 붙여넣을 수 있습니다.
매우 큰 수는 자바스크립트가 안전하게 다루는 정수 범위를 넘어서면 마지막 자리에서 오차가 생길 수 있습니다. 정밀한 계산이 필요한 경우 이 결과는 참고용으로 사용하시기 바랍니다.
자주 묻는 질문 (FAQ)
Q. 10진수 255를 16진수로 바꾸면 얼마인가요?
A. FF입니다. 255 = 15×16 + 15이며, 16진수의 15는 F로 표기합니다. 2진수로는 11111111, 8진수로는 377입니다.
Q. 2진수를 16진수로 어떻게 변환하나요?
A. 2진수를 오른쪽부터 4비트씩 묶고, 각 묶음을 16진수 한 자리로 바꾸면 됩니다. 11111111은 F와 F로 FF가 됩니다.
Q. 진법 변환기에 어떤 값을 입력할 수 있나요?
A. 선택한 입력 진법에서 유효한 문자만 됩니다. 2진수는 0·1, 8진수는 0~7, 10진수는 0~9, 16진수는 0~9·A~F입니다.
Q. 음수나 소수도 진법 변환이 되나요?
A. 이 변환기는 0 이상의 정수만 지원합니다. 음수·소수·2의 보수 표현은 다루지 않습니다.