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

 컴퓨터 과학

 컴퓨터 과학은 문제 해결을 위한 학문이다. 이 때 문제 해결이란, 입력(input)을 전달 받아 출력(output)을 만들어내는 과정을 말한다. 이러한 입력을 출력으로 만들어주는 중간 과정이 컴퓨터 과학이다.

 

 진법

 일상 생활에서 우리는 0~9까지 총 10개의 숫자를 이용하는 10진법을 사용하지만, 컴퓨터는 0과 1로만 데이터를 표현하는 2진법을 사용한다. (컴퓨터는 트랜지스터로 이루어져 있고 이 트랜지스터는 전자의 이동에 의해 On/Off라는 2가지 동작이 실행된다. 이런 2가지 동작에 따라 0 혹은 1이라는 숫자를 인식할 수 있다)

 

 10진수를 2진수로 바꾸면 위의 사진과 같다. 만약 13(= 10x1 + 1x3)이라는 10진수를 2진수로 나타낸다면 1101(= 8x1 + 4x1 + 2x0 + 1x1)일 것이다.

 

 비트, bit는 binary digit의 약자이며 이진 숫자라는 뜻이다. 0과 1이라는 두 가지 값만 가질 수 있는 측정 단위이다. 비트 1개 로는 데이터를 표현하기에 부족하여, 비트 8개가 모인 바이트(byte)를 사용하고 있다.

 

 

 

* 부스트코스 CS50 강의를 학습하며 작성하였습니다. https://www.boostcourse.org/

* 정보 전달이 아닌 학습을 목적으로 작성하여 함축되어져 있는 부분이 많습니다.

'프로그래밍 > CS50' 카테고리의 다른 글

컴퓨팅 사고 - 정보의 표현  (0) 2022.03.02

+ Recent posts