계산 방식
입력을 원래 진법으로 한 자리씩 읽어(값 = 값 × 진법 + 숫자) 임의 정밀도 정수로 만들기 때문에 수백 자리여도 반올림이 없습니다. 그다음 목표 진법으로 반복 나눗셈을 해서 씁니다.
결과에는 2진수, 8진수, 10진수, 16진수를 읽기 쉽게 묶어 나란히 보여 주고 비트·바이트 길이도 표시합니다. 음수는 8, 16, 32, 64비트에 들어갈 때 2의 보수 비트 패턴도 보여 줍니다.
10진법보다 큰 진법의 숫자
0–9 다음은 알파벳이 숫자를 이어 갑니다. 16진수에서 A = 10, B = 11 … F = 15이고, 36진수에서는 Z = 35까지 씁니다. 대소문자는 같습니다.
| 10진수 | 2진수 | 8진수 | 16진수 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 100 | 1100100 | 144 | 64 |
| 255 | 11111111 | 377 | FF |
| 256 | 100000000 | 400 | 100 |
팁
- 16진수 한 자리는 정확히 4비트, 8진수 한 자리는 3비트라서 프로그래머가 2진수 대신 줄여 씁니다.
- 755 같은 유닉스 파일 권한은 8진수입니다: 7 = rwx, 5 = r-x.
- 36진수(0–9와 A–Z)는 짧은 ID에 편합니다. 1,000,000은 LFLS입니다.
계산 기준과 출처
- ECMAScript 언어 명세: BigInt · Ecma International (TC39)
- ECMAScript 언어 명세: Number.prototype.toString(radix) · Ecma International
최종 검토 2026년 10월 17일
자주 묻는 질문
10진수를 2진수로 어떻게 바꾸나요?
2로 계속 나누고 나머지를 거꾸로 읽습니다. 13 ÷ 2의 나머지는 1, 0, 1, 1이므로 13은 1101입니다. 변환기는 어떤 크기든 바로 계산합니다.
16진수를 10진수로 어떻게 바꾸나요?
각 자리에 16의 거듭제곱을 곱해 더합니다. FF = 15 × 16 + 15 = 255.
크기 제한이 있나요?
자바스크립트 BigInt로 계산해 정밀도 제한은 없습니다. 페이지가 느려지지 않도록 입력은 4,096자리까지 받습니다.
소수도 변환되나요?
아니요, 정수만 변환합니다. 소수 부분은 다른 진법에서 끝나지 않는 경우가 많습니다(10진수 0.1은 2진수로 무한히 반복).