위에 숫자를 입력하면 변환 단계가 표시돼요.
빠른 참조표: 0~15 전진법 대조
| 10진수 | 2진수 | 8진수 | 16진수 |
|---|
진법 변환의 원리
모든 수 체계는 기수(진법) — 사용하는 고유 숫자 기호의 수 — 를 기반으로 해요. 일상적인 10진법은 기수 10(0~9)을 사용해요. 컴퓨터는 기본적으로 2진수(기수 2, 숫자 0~1)를 사용해요. 프로그래머들은 이진 데이터의 간결한 표기를 위해 8진수(기수 8)와 16진수(기수 16)를 자주 사용해요.
2진수에서 10진수로
각 이진수 자리(비트)는 오른쪽부터 0번 위치로 세어 자릿값에 따른 2의 거듭제곱을 나타내요. 각 비트에 자릿값을 곱해 합산하면 됩니다:
10진수에서 2진수로 (반복 나눗셈)
10진수를 2로 반복해서 나누면서 나머지를 기록해요. 나머지를 아래에서 위로 읽으면 2진수가 됩니다:
16진수
16진수는 16개의 기호를 사용해요: 0~9와 A~F (A=10, B=11, C=12, D=13, E=14, F=15). 16진수 한 자리는 정확히 4개의 이진 비트를 간결하게 표현해요. 두 자리의 16진수가 1바이트를 나타내죠. 이 때문에 16진수는 메모리 주소와 색상 코드에 이상적이에요.
8진수는 왜 쓰나요?
8진수(기수 8)는 초기 컴퓨팅에서 인기를 끌었어요. 3개의 이진 비트가 정확히 8진수 한 자리에 대응하기 때문이에요. Unix 파일 권한(chmod 755 = 2진수로 111 101 101)과 오래된 프로그래밍 환경에서 볼 수 있어요.
2의 보수
컴퓨터는 2의 보수를 사용해 음의 정수를 표현해요. N비트 레지스터에서: 최상위 비트가 0이면 값은 양수(부호 없음과 동일). 최상위 비트가 1이면 부호 있는 값은 부호 없는 값에서 2N을 뺀 값이에요. 예를 들어 8비트 11111111 = 255(부호 없음) = −1(부호 있음).
2의 보수 해석기
N비트 2진수를 입력하면 부호 없음과 부호 있음(2의 보수) 해석을 모두 확인할 수 있어요. 위의 비트 보기 패널에서 개별 비트를 토글하면 모든 값이 실시간으로 업데이트돼요.
아래 표는 일반적인 8비트 2의 보수 값을 보여줘요:
| 2진수 (8비트) | 부호 없음 | 부호 있음 (2의 보수) |
|---|---|---|
| 0000 0000 | 0 | 0 |
| 0111 1111 | 127 | 127 (최대 양수) |
| 1000 0000 | 128 | −128 (최소 음수) |
| 1111 1111 | 255 | −1 |
| 1111 1110 | 254 | −2 |
| 1000 0001 | 129 | −127 |