진법 변환기
숫자를 입력하고 진법을 선택하면 2진수, 8진수, 10진수, 16진수로 한 번에 변환됩니다.
진법의 원리
- 2진수(기수 2): 0과 1만 사용합니다. 컴퓨터가 숫자를 저장하는 방식입니다.
- 8진수(기수 8): 0~7의 숫자를 사용합니다. 숫자 하나가 3비트를 나타냅니다.
- 10진수(기수 10): 0~9의 숫자를 사용하며, 우리가 일상에서 쓰는 숫자입니다.
- 16진수(기수 16): 0~9와 A~F를 사용합니다(A = 10, …, F = 15). 숫자 하나가 4비트를 나타냅니다. 색상 코드와 메모리 주소 등에 쓰입니다.
변환에는 크기에 상관없이 반올림 오차 없이 정수를 다룰 수 있는 BigInt를 사용하므로, 매우 큰 정수도 정확하게 변환됩니다.
예시
| 소수 | 2진수 | 8진수 | 16진수 |
|---|---|---|---|
| 10 | 1010 | 12 | A |
| 255 | 1111 1111 | 377 | FF |
| 256 | 1 0000 0000 | 400 | 100 |
| 500 | 1 1111 0100 | 764 | 1F4 |
| 65,535 | 1111 1111 1111 1111 | 177777 | FFFF |
입력 규칙
- 정수만 입력할 수 있습니다. 소수점이 포함된 입력은 오류입니다.
- 사용할 수 있는 문자: 2진수는 0과 1, 8진수는 0~7, 10진수는 0~9, 16진수는 0~9와 A~F(대소문자 모두 가능)입니다. 맞지 않는 문자가 있으면 어떤 문자인지 메시지로 알려 줍니다.
- 접두사: 선택한 진법에 맞는 접두사(2진수는 0b, 8진수는 0o, 16진수는 0x)는 자동으로 제거됩니다. 16진수에서 "0b1"은 접두사가 아니라 0B1이라는 숫자로 해석됩니다.
- 구분 기호: 공백과 "_"는 무시됩니다(예: 1111 0000 또는 1111_0000). 10진수에서는 ","도 무시됩니다.
- 크기 제한: 숫자는 2의 256제곱 미만이어야 합니다(10진수 약 78자리, 16진수 64자리, 2진수 256자리). 입력은 최대 1,000자까지 가능합니다.
음수
음수는 마이너스 기호와 절댓값으로 변환됩니다(-255는 16진수로 -FF, 2진수로 -11111111). 컴퓨터는 흔히 음수를 "2의 보수"라는 다른 형태로 저장하지만, 이 도구는 2의 보수를 지원하지 않습니다. -0은 0이 됩니다.
참고 사항
- 결과 아래에 절댓값에 필요한 비트 수와 바이트 수가 표시됩니다(255는 8비트, 즉 1바이트가 필요).
- 2진수와 16진수 결과는 가독성을 위해 4자리씩 묶어서 표시할 수 있습니다(복사되는 값에는 묶음이 없음). 10진수 결과는 3자리마다 쉼표로 묶어 표시합니다.
- IP 주소의 비트를 다루려면 IPv4 서브넷 계산기도 이용할 수 있습니다.
자주 묻는 질문
16진수를 입력할 때 "0x"를 입력해야 하나요?
아니요. "0x"는 16진수임을 나타내는 표시일 뿐이므로 생략해도 됩니다. 입력하면 자동으로 제거됩니다.
얼마나 큰 수까지 변환할 수 있나요?
2의 256제곱 미만의 모든 정수입니다. 10진수로는 약 1.16 × 10의 77제곱보다 작은 수입니다.
분수를 변환하거나 음수의 2의 보수를 구할 수 있나요?
아니요. 이 도구는 정수만 변환하며, 분수와 2의 보수는 지원하지 않습니다.