2진법
Discovery of Binary System 二进制的发现
2진법은 0과 1을 이용하여 나타내는 수 체계다. 예를 들면 ‘0, 1, 11, 100, 1000, 1101, 1110, 10011’이 2진법의 2진수다. 2진법의 2진수는 10진법과 마찬가지로 모든 수를 나타낼 수 있다. 10진법의 자연수가 무한인 것처럼 2진법의 자연수도 무한이다. 그리고 칸토어(G. Cantor)가 일대일대응으로 증명한 것처럼 2진법과 10진법의 크기는 같다. 2진법의 원리를 체계화한 사람은 라이프니츠다. 라이프니츠(G. Leibniz)는 1703년 출간한 [이진법에 관한 설명]에서 중국의 [역경(易經)] 또는 [주역(周易)]의 ‘6효(hexagram)인 2진법에 빛을 비추어 새로운 의미를 부여한다’라고 말했다. 그러니까 라이프니츠 자신은 2진법을 발명한 것이 아니고 고대부터 존재했던 2진법을 수학적, 철학적으로 재발견했음을 밝힌 것이다. 6효는 [주역]을 의미하는데 실제 육효는 초효(初爻), 이효(二爻), 삼효(三爻), 사효(四爻), 오효(五爻), 상효(上爻)다.
라이프니츠가 [역경]에서 인용한 것은 육효를 나누는 음양의 원리다. 육효의 양과 음의 원리에 착안한 라이프니츠는 양(+)을 있음인 1, 음(-)을 없음인 0으로 표기했다. 이렇게 하여 2진법의 수인 0과 1이 대수학적 수로 정립되었다. 라이프니츠에게 이분법의 원리는 무에서 유가 창조되는 기독교 창조원리이기 때문에 중요하다. 고대 중국의 음양(陰陽)은 양지와 음지라는 자연적 개념으로 사용되다가 원기(元氣)에서 파생하는 두 가지 상반된 기운이라는 의미로 바뀌었다. 그리하여 음양은 모든 사물의 상대성과 대립의 의미로 쓰이게 되었다. 한편 도가들은 혼돈의 무와 생성의 유를 같은 것으로 보거나 무에서 유가, 유에서 무가 생긴다고 보고 도생일[道生一 一生二 二生三 三生万物]로 압축했다. 도(道)는 없음의 상태인데, 도의 없음(0)에서 있음(1)인 l이 나오고 1에서 2, 3, 4와 우주 자연의 모든 것이 나왔다는 사상이다.
주역과 태극의 원리는 하나(1)를 반으로 나누어 둘(2)로 만들고, 그 둘을 나누어 넷(4)으로 만들고, 넷을 나누어 여덟(8)로 만들고 여덟을 나누어 열여섯(16)으로 만드는 분화와 생성의 과정이다. 이것이 64괘로 분화한다. 이런 분화는 우주 자연의 기본적 원리다. 따라서 음양 사상이나 이분법은 아주 자연스러운 생각이다. 이분법의 우주적 원리는 BCE 1200년경 고대 이집트 9왕조 시절의 호루스의 눈(Eye of Horus)에서 볼 수 있다. 호루스의 눈은 전체를 1로 하여 반으로 나누는 것을 반복한다. 호루스의 눈에 나오는 1/2, 1/4, 1/8, 1/16, 1/32. 1/64 등은 2의 배수로 전개하는 2진법의 역수다. 따라서 호루스의 눈은 1, 2, 4, 8, 16, 32, 64, 128로 전개하는 2진법과 같은 원리다. 인도의 공(空) 사상 역시 유와 무를 나타내는 이분법이다. 0과 1로 상징되는 이진법은 원래 고대 인도의 공(空) 사상에서 유래했다.
고대 인도인들은 인도-아라비아 숫자를 발명하고 0과 십진법으로 수 체계를 세웠다. 인도인에게 0은 무와 파괴이고 1은 유와 생성이다. 이 원리가 인도-아라비아 숫자의 근간이 되었으며 0의 무(無)와 1의 유(有)가 2진법의 근원이 되었다. 이처럼 2진법은 보편적 이성에 내재한 논리적 사고의 산물이다. 2진법의 수학적 원리는 라이프니츠가 정리한 2진수의 값에 담겨있다. 라이프니츠는 2진수의 수 체계를 이렇게 정리했다. ‘1=20, 10=21, 100=22, 1000=23, 10000=24, 100000=25, 1000000=26, 10000000=27’. 이것은 10진법 1, 2, 4, 8, 16, 32, 64, 128에 해당한다. 한편 2진법은 위치 기수법(positional notation)으로 나타낼 수도 있다. 2진수 1101012(5310)를 위치 기수법으로 나타내면 1×25 + 1×24 + 0×23 + 1×22 + 0×21 + 1×20이다. 2진법의 2진수와 10진법의 10진수는 서로 바꿀 수 있다.
2진수는 ‘0 → 1 → 10 → 11 → 100 → 101 → 110 → 111 → 1000’으로 전개한다. 첫째 자릿수가 1이면 다음 수는 올림을 하여 0이 되고 0 다음 수는 1이다. 그러니까 첫째 자리는 0, 1, 0, 1, 0, 1, 0, 1, 0, 1이 반복된다. 이처럼 0과 1만 쓰는 간결성과 명료함 때문에 이진법은 디지털회로에 적합하다. 2진법의 수 체계와 명제논리는 조지 불(G. Boole)과 새넌(C. Shannon)을 거쳐 컴퓨터 언어로 발전했다. 2진법에 근거한 불의 논리를 토대로 한 디지털회로에서 0과 1은 서로 다른 상태를 나타낸다. 이 논리식에서는 AND 게이트, OR 게이트, NOT 게이트와 같은 기본논리 회로만 사용할 수도 있고 NAND 게이트, NOR 게이트, XOR 게이트 등도 구성할 수 있다. 아무리 복잡한 것도 2진법의 논리식으로 바꾸면 효율적으로 작동한다. 그래서 디지털회로는 10진법보다 2진법이 더 효율적이다.★(김승환)
*참고문헌
*참조 <0>, <0과 수>, <0과 연산>, <0과 존재>, <0의 존재>, <2진법>, <2진법과 10진법>, <10진법>, <공/수냐타>, <기수>, <무한>, <수>, <순서수>, <실수>, <아라비아 숫자>, <아라비아 숫자의 기원>, <아라비아 숫자의 전파>, <유리수>, <음양사상>, <자연수>, <정수>