CS 기초/컴퓨팅 사고

[CS50] 정보의 표현

담크 2021. 7. 25. 17:31

지난 포스팅에 컴퓨터가 이미지, 오디오, 비디오 등을 저장할 수 있을까? 하고 잠깐 얘기한 게 있는데

말 그대로 숫자는 2진법으로 표현할 수 있다고 해도 그 이외의 정보들은 어떻게 처리할지 알아보겠습니다.

 

 

문자의 표현

가장 먼저 문자의 표현입니다. 기존에 코딩을 접해보지 않으신분들은 문자를 어떻게 숫자로 표현하지? 하고 의문을 가질 수 있는데요 문자 역시 숫자로 표현할 수 있도록 미리 정해진 약속(표준)이 있습니다.

이를 ASCII(아스키코드)라고 합니다.

0부터 127까지 총 128개의 부호로 이루어져 있습니다. 여기서 알파벳은 대문자 A를 시작으로 소문자 z까지 10진수 기준 65부터 표시가 가능합니다.

예를 들어 알파벳 A를 표현하려고 한다면 

10진법 기준으로 65가 알파벳 A이므로 2진법으로 표현하면 1000001로 표현할 수 있습니다.

 

이외에도 Unicode라는 표준보다 좀더 확장된 의미의 표현도 있습니다. (아무래도 ASCII만으로는 표현의 한계가 존재하고 Unicode에서는 😂(기쁨의 눈물)과 같은 이모티콘까지 표현이 가능합니다.)

 

 

이미지, 비디오, 오디오의 표현

이미지 역시 숫자로 표현이 가능합니다.

우리가 모니터(스크린)를 통해 보는 이미지를 잘 살펴보면 수많은 점들이 빨간색, 초록색, 파란색을 띠고 있는데요

이런 작은 점들을 픽셀(Pixel)이라고 부릅니다. 각각의 픽셀은 세가지 색을 서로 다른 비율로 조합하여 특정한 색을 갖게 됩니다. 이렇게 표현되는 방식을 RGB(Red, Green, Blue)라고 합니다.

예를 들어 노란색을 표현하려면 빨간색 72, 초록색 73, 파란색 33을 섞어야 한다고 합니다.

즉 노란색의 큰 이미지는 72 73 33으로 정의되는 무수히 많은 픽셀들의 RGB코드(숫자)로 표현할 수 있는 겁니다.

 

비디오 역시 마찬가지로 수많은 그림들을 빠르게 연속적으로 이어 붙여놓은 것이기 때문에 숫자로 충분히 표현이 가능합니다.

오디오도 각 음표를 숫자로 표현하는 게 가능하다고 합니다.

 

 

 


출처

본 내용은 CS50의 2019년 강의를 듣고 작성했습니다. (개념이 어느 정도 정리되면 최신강의도 다시 듣고 수정할 내용 있으면 수정하겠습니다.)

 

강의 자료는 EdX에서 무료로 사용할 수 있고 boostcourse에서 한글 강의로도 들을 수 있습니다.

 

'CS 기초 > 컴퓨팅 사고' 카테고리의 다른 글

[CS50] 스크래치 사용해보기  (0) 2021.07.27
[CS50] 알고리즘  (4) 2021.07.26
[CS50] 2진법  (0) 2021.07.24