2진수, 8진수, 10진수, 16진수 간의 변환을 무료로 수행하세요. 프로그래밍, 네트워킹, 디지털 시스템에 필수적인 도구입니다.
| 10진수 | 2진수 | 8진수 | 16진수 |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
진법(Numeral System)은 숫자를 표현하는 방법입니다. 2진법은 0과 1만 사용하고, 8진법은 0-7, 10진법은 0-9, 16진법은 0-9와 A-F를 사용합니다. 컴퓨터는 내부적으로 2진수를 사용하지만, 사람이 읽기 쉽도록 16진수나 10진수로 변환하여 표시합니다.
N진법을 10진법으로 변환: 각 자릿수에 밑수의 거듭제곱을 곱하여 합산합니다. 예: (1011)₂ = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 11
10진법을 N진법으로 변환: 10진수를 목표 진법으로 반복적으로 나누고 나머지를 역순으로 읽습니다.
16진수 한 자리는 정확히 2진수 4자리를 나타냅니다. 예를 들어 F(16진수) = 1111(2진수), A(16진수) = 1010(2진수)입니다. 이런 관계 때문에 프로그래머들은 긴 2진수를 표현할 때 16진수를 선호합니다.
8진수는 Unix/Linux 파일 권한 시스템에서 주로 사용됩니다 (예: chmod 755). 과거 8비트가 아닌 시스템에서 널리 사용되었지만, 현재는 16진수가 더 일반적입니다. 3비트씩 묶어서 표현하기 편리합니다.
A부터 F까지는 10진수 10부터 15를 나타냅니다. A=10, B=11, C=12, D=13, E=14, F=15입니다. 16진법은 0-15까지 필요하므로 숫자 0-9만으로는 부족하여 알파벳을 사용합니다.
컴퓨터의 트랜지스터는 ON(1) 또는 OFF(0) 두 가지 상태만 가질 수 있기 때문입니다. 이런 디지털 회로의 특성상 2진법이 가장 자연스럽고 안정적입니다. 모든 데이터와 명령어는 궁극적으로 0과 1의 조합으로 표현됩니다.
컴퓨터에서 음수는 2의 보수(Two's Complement) 방식으로 표현합니다. 최상위 비트(MSB)가 부호 비트로 사용되며, 1이면 음수입니다. 예를 들어 8비트에서 -1은 11111111로 표현됩니다. 이 방식은 덧셈 회로를 단순화하는 장점이 있습니다.
비트(bit)는 0 또는 1 하나를 의미하며, 데이터의 가장 작은 단위입니다. 바이트(byte)는 8비트의 묶음으로, 하나의 문자를 표현하는 기본 단위입니다. 1바이트 = 8비트 = 2개의 16진수 숫자로 표현됩니다.
이 진법 변환기는 양의 정수만 지원합니다. 음수나 부동소수점 변환이 필요한 경우 IEEE 754 표준을 참고하세요. 매우 큰 숫자는 브라우저의 숫자 정밀도 한계로 인해 정확하지 않을 수 있습니다. 프로그래밍에서 사용할 때는 언어별 정수 타입의 최대값을 확인하세요.