진법 변환
0x2F는 47. 매번 외우고 있을 수는 없습니다.
예제는 입력과 설정을 일시적으로 바꿉니다. 이전 작업을 복원할 수 있습니다.
0자
출력
위에 붙여넣거나 입력하면 여기에 결과가 표시됩니다.
파일은 내 기기 밖으로 나가지 않습니다
이 도구는 브라우저 안에서만 작동합니다. 붙여넣은 내용은 기기에서 처리되고 서버로 전송되지 않으므로 토큰, 키, 공개 전 문서도 안심하고 사용할 수 있습니다.
사용 예시
예: 한글 ‘한’의 유니코드 0xD55C를 10진수·2진수로, 한글 음절 범위까지
프로그래밍 수업에서 한글 유니코드를 다루는 학생이 값을 확인합니다. 입력을 읽을 진법은 ‘10진수’ 그대로 두고, 16진수에는 0x를 붙여 한 줄에 하나씩 0xAC00(‘가’), 0xD7A3(‘힣’), 0xD55C(‘한’), 11172를 넣은 뒤 ‘바이트 단위로 끊어 표시’를 켭니다.
- 0x가 붙은 줄은 설정과 관계없이 16진수로 읽힙니다. 0xAC00은 44032, 0xD7A3은 55203이라 한글 음절은 55203 − 44032 + 1 = 11172자입니다.
- 11172는 접두사가 없어 10진수로 읽히고 16진수 2BA4가 나옵니다.
- 0xD55C는 54620입니다. 54620 − 44032 = 10588 = (18 × 21 + 0) × 28 + 4로, 초성 ㅎ(0부터 세어 18), 중성 ㅏ(0), 종성 ㄴ(4)을 넣은 조합 공식과 맞습니다.
- 바이트 표시는 16진수를 두 자리씩 끊어 D5 5C처럼 보여 줍니다. 이는 UTF-16의 두 바이트이고, UTF-8로는 ‘한’이 ED 95 9C 세 바이트라 따로 계산해야 합니다.
| 입력 | 읽은 진법 | 2진수 | 8진수 | 10진수 | 16진수 |
|---|---|---|---|---|---|
| 0xAC00 | 16진수 | 1010110000000000 | 126000 | 44032 | AC00 |
| 0xD7A3 | 16진수 | 1101011110100011 | 153643 | 55203 | D7A3 |
| 0xD55C | 16진수 | 1101010101011100 | 152534 | 54620 | D55C |
| 11172 | 10진수 | 10101110100100 | 25644 | 11172 | 2BA4 |
네 줄이 각각 2진수·8진수·10진수·16진수와 바이트로 한 번에 나옵니다. 코드에 0xD55C나 54620을 넣기 전에, 또는 정보 과목의 진법 문제를 풀고 나서 답이 맞는지 바로 확인할 수 있습니다.
사용 방법
- 한 줄에 하나씩 숫자를 입력합니다.
- 어떤 진법으로 읽을지 고릅니다. 0x·0b·0o를 붙이면 그쪽이 우선합니다.
- 주요 진법이 한 번에 나오므로 두 번 변환할 필요가 없습니다.
- 메모리 덤프나 프로토콜을 읽을 때는 바이트 표시를 켜세요.
자주 묻는 질문
- 진법을 매번 지정해야 하나요?
- 접두사가 없는 숫자만 그렇습니다. 0x2F, 0b1010, 0o17은 설정과 관계없이 표기대로 읽습니다. 디버거나 바이너리 편집기, 스택 트레이스에서 복사해 오면 대개 이 형태로 들어오기 때문입니다.
- 64비트 값도 정확한가요?
- 네. 임의 정밀도로 계산하므로 0xFFFFFFFFFFFFFFFF는 18446744073709551615로 돌아옵니다. JavaScript의 일반 숫자형으로 계산하는 도구에서는 아래 자리가 조용히 반올림되는데, 바로 그 조용함이 문제이므로 피했습니다.
- 36진법 같은 건 어디에 쓰나요?
- 32·36진법은 짧은 식별자와 URL 단축에, 12·7진법은 퍼즐이나 과제에 나옵니다. 숫자와 알파벳으로 표현할 수 있는 한계가 36진법이라 거기까지 지원합니다.
- 소수도 변환되나요?
- 정수만 됩니다. 2진 소수는 그 자체로 별도의 함정이 있는 주제이고, 0.1이 깔끔하게 변환되는 것처럼 보이게 하는 것이 그중 가장 큰 함정입니다.
- 음수는 2의 보수로 나오나요?
- 아니요. −42는 2진수 −101010, 16진수 −2A처럼 부호를 붙여 보여 줍니다. 8비트 2의 보수가 필요하면 256 − 42 = 214를 넣으세요. 11010110, 16진수 D6이 나옵니다.
- 8진수나 2진수로 입력하려면 어떻게 하나요?
- ‘입력을 읽을 진법’에서 8진수나 2진수를 고르거나, 줄 앞에 0o(8진수), 0b(2진수)를 붙이세요. 0o17은 10진수 15, 0b1010은 10진수 10입니다. 접두사가 붙은 줄은 설정보다 접두사가 우선합니다.
- 서버로 전송되나요?
- 아니요. 브라우저 안에서만 동작하므로 입력한 내용은 컴퓨터를 벗어나지 않습니다.