edwith CS50강의를 보며 정리했습니다.

● 2진수

 

입력과 출력은 무엇일까? 우리는 컴퓨터가 0과 1만 사용하고 0,1로만 이해한다는 것을 안다. 하지만 과연 0,1 두 숫자로 노트북이나 pc가 어떻게 작동하는지 설명할 수 있을까? 

일상생활에서는 일반적으로 10진수(decimal)를 사용한다. '10'이라고 하는 이유는 0에서 9까지의 숫자 10개를 사용하기 때문이다. 2진수(binary)는 0과 1까지의 숫자 2개만을 사용한다. 컴퓨터는 0과 1만으로도 어떤 데이터든 충분히 표현할 수 있다. 숫자, 문자, 그래픽, 영상 등 모든 정보가 가능하다. 

 

우리가 위의 그림을 본다면 본능적으로 1,2,3 숫자 3개로 인식할 것이다. 왜냐하면 우리가 어릴 때 숫자를 배울 때 10 단위로 생각하도록 배웠기 때문이다.

 

하지만 사실은 이렇게 각 자리수에 스케일을 곱해서 나온 결과 값을 모두 더한 것이다. 컴퓨터도 2진수를 사용할 때 우리와 같은 언어를 사용한다. 다만 우리보다 숫자 갯수가 적을 뿐이다. 우리는 10진수로 계산하기 때문에 10개의 숫자를 사용하지만 컴퓨터는 2개만 사용한다, 우리가 각 자리수에 10의 제곱을 하듯 컴퓨터는 2의 제곱을 통해 계산한다.

 

이처럼 각자 사용하는 진수에 따라 표현방식이 다르지만, 모두 같은 숫자를 나타냄을 알 수 있다. 

우리는 방의 불을 끄거나 켤 수 있다. 이것을 어떻게 표현할까? API라는 것을 통해 표현할 수 있다. API는 Application Programming Interface의 약자다. 우리가 웹 서버로 메시지를 보내듯 API를 통해 메시지를 보낼 수 있다.

+ Recent posts