2진법을 통해서 컴퓨터가 어떻게 0과 1만으로 숫자들을 나타내는지 확인해보았다. 그렇다면 문서나 이메일과 같이 글자를 쓸 때는 어떻게 표현하는 걸까?
ASCII
문자를 숫자로 표현할 수 있도록 정해진 약속이 있는데, 미국 기준으로 만들어진 ASCII(아스키 코드)이다. 아스키 코드는 7비트를 사용하기 때문에 총 128개의 부호가 있다. 확장 아스키코드는 8비트로 256개의 부호를 사용할 수 있다.

아스키 코드로 만들어진 CS50이라는 문자를 2진수로 변환한다면 1000011 / 1010011 / 101 / 0 이 된다.
아스키 코드에서 A의 10진수는 65인데, 이를 2진수로 표현하면 1000001(64x1 + 1x1)이 된다. 현대에는 128개 혹은 256개의 부호만으로는 충분치 않아 Unicode(100만개 이상의 문자 사용 가능)를 사용하고 있다.
이 Unicode에서 😂는 10진수로 128,514이고 2진수로는 11111011000000010이다.
그림, 영상, 음악의 표현
2진법으로 10진수를 나타낼 수 있고, 이 10진수로 RGB를 통한 색 표현에서 나아가 사진이 표현 가능하다. 하나의 픽셀에 서브 픽셀로 빨간색, 초록색, 파란색이 들어가게 되는데 이 3가지 색상이 적절하게 섞여서 하나의 색깔을 가진 픽셀이 된다. 예를 들자면 (72, 73, 33)이라고 할 때 빨간색이 72정도, 초록색이 73정도, 파란색이 33정도라는 것이고 이것이 섞여 하나의 픽셀이 된다. 실제로 (72, 73, 33)는 누르끼리한 노란색의 색깔을 나타낸다.
이러한 픽셀들이 모여서 사진이되고, 사진이 모여서 만들어지는 것이 영상이다. 그리고 각 음표를 특정한 숫자에 녹음하여 음악 또한 표현이 가능하다. 그러므로 2진법을 이용해 10진수, 글자, 사진, 영상, 음악의 표현이 가능해지는 것이다.
* 부스트코스 CS50 강의를 학습하며 작성하였습니다. https://www.boostcourse.org/
* 정보 전달이 아닌 학습을 목적으로 작성하여 함축되어져 있는 부분이 많습니다.
'프로그래밍 > CS50' 카테고리의 다른 글
컴퓨팅 사고 - 이진법 (0) | 2022.03.02 |
---|