컴퓨터는 왜 2진수를 기반으로 할까?

컴퓨터가 2진법 체계를 사용하는 이유를 알아보자.

#Knowledge #Binary


왜 0과 1만 사용할까?

왜 컴퓨터는 0과 1로만 이루어진 2진수 체계를 사용할까요?
우리가 흔히 사용하는 10진수 체계도 있는데, 왜 2진법 기반으로 설계가 되었을까요?

이유는, 컴퓨터를 구성하는 회로에서 발생되는 노이즈(Noise) 때문이랍니다.
사전적인 의미의 노이즈를 살펴보면 다음과 같습니다.

시스템에서 전기적, 기계적인 이유로 발생하는
불필요한 신호, 데이터를 전송할 때에는 이로 인해 데이터가 달라지는 것을 막기 위하여 전송하는 문자마다 미리 정해진 방법으로 검색을 한다. 이를 흔히 잡음이라고 한다.

앞에서 살펴본 것처럼 노이즈로 인하여 2진수 체계를 사용한다고 했습니다만, 데이터가 달라지는 현상은 2진수 체계에서도 발생하긴 합니다.

하지만! 이진법 체계보다 더 높은 체계에서는 상대적으로 더 큰 문제가 발생하지요.


컴퓨터와 2진법

컴퓨터는 2진수 표현을 전기적인 신호로 판단합니다. 신호가 있으면 1, 없다면 0으로 말이지요.
그렇다면 10진수 체계를 사용하는 경우에는 어떻게 될까요? 신호에 대해서 10단계의 구분이 필요합니다.

전기 신호의 크기가 0V(Volt)에서 5V라고 가정한다면, 10단계에서는 각 단계 별로 0.5V의 차이가 있겠죠? 그런데 기계적인 결함 또는 이유로 2.3V가 전달된다면 어떻게 될까요? 2.5V에 더 가깝기 때문에 다른 단계로 판단될 수 있겠죠? 이러한 이유로 2진수 체계가 더 안전할 수 있지요.


아날로그와 디지털

이러한 전기적 신호인 디지털 신호와 상반되는 아날로그 신호를 기반으로 컴퓨터가 동작한다면 어떻게 될까요? 아두이노 보드를 예로 쉽게 생각해볼 수 있습니다. 디지털 출력판과 아날로그 출력판이 존재하지요.

아두이노 보드의 LED 조명을 예로 들면, 디지털 출력은 완전히 켜진 상태와 완전히 꺼진 상태만을 표시할 수 있지만 아날로그 출력의 경우에는 완전히 켜진 상태부터 꺼진 상태까지의 모든 밝기를 임의로 설정해 표시할 수 있답니다.

정말 큰 차이죠? 밀레니엄 시대에 접어들면서 아날로그 제품들이 대부분 디지털 제품으로 바뀌었어요. 우리 주변에서 아날로그 제품을 찾기란 쉽지 않은 것 같습니다.