이진법(二進法, binary numeral system)은 0과 1, 두 개의 숫자만을 사용하여 수를 표현하는 위치 기수법(positional numeral system)이다. 밑(base)이 2인 수 체계로, 각 자릿수는 2의 거듭제곱에 해당하는 값을 가진다. 이진법으로 표현된 수를 이진수라고 한다.
역사
이진법의 개념은 17세기 독일의 수학자 고트프리트 빌헬름 라이프니츠(Gottfried Wilhelm Leibniz)가 체계적으로 정립하였다. 라이프니츠는 주역의 음양(陰陽) 사상에서 영향을 받아 이진법을 고안한 것으로 알려져 있다. 그는 이진법을 통해 모든 수를 0과 1만으로 표현할 수 있음을 보였으며, 이는 논리학과 철학에도 응용되었다.
표현 방식
이진법에서는 각 자리가 0 또는 1의 값을 가지며, 오른쪽에서 왼쪽으로 갈수록 자릿값이 2배씩 증가한다. 가장 오른쪽 자리는 2⁰(1), 그 다음은 2¹(2), 2²(4), 2³(8) 순서이다. 예를 들어, 이진수 1101은 (1×2³)+(1×2²)+(0×2¹)+(1×2⁰) = 8+4+0+1 = 13(십진수)으로 계산된다.
이진수를 십진수와 구별하기 위해 다양한 표기법이 사용된다. 수학에서는 아래첨자로 (₂)를 붙여 1101₂와 같이 표기하고, 컴퓨터 과학에서는 접두사 0b(예: 0b1101) 또는 접미사 b(예: 1101b)를 사용한다.
십진수와의 변환
십진수를 이진수로 변환할 때는 십진수를 2로 계속 나누어 나머지를 구하고, 이를 역순으로 배열한다. 예를 들어 십진수 13을 이진수로 변환하면: 13÷2=6 나머지 1, 6÷2=3 나머지 0, 3÷2=1 나머지 1, 1÷2=0 나머지 1 → 나머지를 역순으로 배열하여 1101₂를 얻는다.
이진수에서 십진수로의 변환은 각 자릿수에 해당하는 2의 거듭제곱 값을 더하여 계산한다.
산술 연산
이진법의 덧셈은 십진법과 유사하지만, 각 자리에서 1+1=10이 되어 자리올림(carry)이 발생한다는 점이 다르다. 기본 덧셈 규칙은 다음과 같다: 0+0=0, 0+1=1, 1+0=1, 1+1=0(올림 1). 뺄셈은 0-1의 경우 윗자리에서 2를 받아내리는 방식으로 수행되며, 컴퓨터에서는 2의 보수(two's complement)를 이용한 덧셈으로 뺄셈을 구현하는 것이 일반적이다.
곱셈은 각 자리의 1에 대해 피승수를 자리 이동하여 더하는 방식으로 이루어지며, 나눗셈도 십진법과 유사한 긴 나눗셈(long division) 방식으로 수행된다.
컴퓨터와의 관계
현대 컴퓨터는 전기적 신호의 ON/OFF 두 가지 상태를 사용하므로 이진법이 가장 적합한 수 체계이다. 컴퓨터 내부의 모든 데이터(숫자, 문자, 이미지, 소리, 영상 등)는 이진수로 변환되어 처리된다. 이진법의 각 자릿수를 비트(bit, binary digit)라고 하며, 8개의 비트가 모인 것을 바이트(byte)라고 한다.
컴퓨터에서 음수는 주로 2의 보수 방식으로 표현된다. 이 방식에서는 최상위 비트(MSB, Most Significant Bit)가 부호를 나타내며(0이면 양수, 1이면 음수), 덧셈과 뺄셈을 동일한 회로로 처리할 수 있다는 장점이 있다.
관련 진법
이진법은 자릿수가 길어져 가독성이 떨어지므로, 컴퓨터 과학에서는 이진수를 4자리씩 묶은 16진법(hexadecimal)이나 3자리씩 묶은 8진법(octal)이 함께 사용된다. 16진법은 0-9와 A-F의 문자를 사용하여 이진수를 간결하게 표현하며, 8진법은 0-7의 숫자를 사용한다. 이들 진법은 이진법과 본질적으로 동일한 정보를 담고 있으며 상호 변환이 용이하다.
활용 분야
이진법은 컴퓨터 과학과 디지털 전자공학의 기초가 되는 수 체계이다. 중앙처리장치(CPU)의 연산, 메모리 주소 지정, 디지털 통신, 데이터 저장 등 모든 디지털 시스템의 근간을 이루며, 정보 이론과 논리 회로 설계의 기본 원리로 사용된다.