속도 < 방향
[CS50] 2진수 : 컴퓨터는 숫자를 어떻게 셀까? 본문
● 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를 통해 메시지를 보낼 수 있다.
'개발 > Computer Science' 카테고리의 다른 글
[CS50] 2진수로 표현하기엔 너무 긴데.. 다른 방법이 없을까? (0) | 2022.03.12 |
---|---|
[CS50] 문자 : 컴퓨터는 문자를 어떻게 표현할까? (0) | 2022.03.12 |
[CS50] 비트와 바이트 : 컴퓨터는 자료를 어떻게 처리할까? (0) | 2022.02.24 |
[CS50] 기억장치 - RAM, HDD : 컴퓨터는 수많은 정보를 어떻게 기억할까? (0) | 2022.02.01 |
[CS50] 하드웨어 - CPU, 기억장치(메모리/하드), 입출력장치 : 컴퓨터를 구입할 때 무엇을 고려해야 할까? (0) | 2022.02.01 |