본문 바로가기
CS: Computer Science/CS50 2019

[모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 2)정보의 표현

by ro117youshin 2021. 10. 11.
728x90

www.boostcourse.org/cs112


1. 컴퓨팅 사고 Computational Thinking, Scratch

2)정보의 표현

 

문자의 표현

문자를 숫자로 표현 할 수 있도록 정해진 약속(표준)이 있다. 

그 중 하나가 미국정보교환표준부호 아스키코드(ASCII, American Standard Code for Information Interchange)이다.

총 128개의 부호로 정의되어 있는데, 알파벳 A는 10진수 기준으로 65, 알파벳 O는 79로 되어있다.

 

A B C D E F G H
65 66 67 68 69 70 71 72
I J K L M N O P
73 74 75 76 77 78 79 80
Q R S T U V W X
81 82 83 84 85 86 87 88
Y Z - - - - - -
89 90 - - - - - -

 

그럼 A를 2진법으로 표현한다면?

10진법의 기준으로 65이므로 2^6*1+2^5*0+2^4*0+2^3*0+2^2*0+2*0+1*1 (64+1) 로 표현 할 수 있다.

따라서 A를 2진법으로 표현하면 1000001 이다.

 

그 외에도 당시 8개의 비트(Bit)만 사용하던 아스키코드는 많은 여러 문자들을 표현하기에 충분하지 않았다.

그래서 Unicode 라는 표준에서는 더 많은 비트를 사용하여 더 다양한 다른 문자들도 표현가능 하도록 지원하고 있다. 

 

강의에서는 예를 들어 이모티콘을 보내는 것으로 설명해준다. 

Unicode는 여러 다른 문자 뿐만 아니라 이모티콘까지 표현할 수 있게 해주었다.

😂 (기쁨의 눈물) 이모티콘을 친구의 스마트폰으로 보낸다면 11111011000000010 이라는 0과 1의 패턴을 보낸것이다. (10진법으로 128,514이다.) 그럼 친구의 스마트폰의 안드로이드 혹은 iOS는 0과 1의 패턴을 받아 노란색 얼굴에 눈물을 흘리고 있는 사진으로 보여준다. 

 

그림, 영상, 음악의 표현

문자와 같이 그림도 숫자로 표현할 수 있다.

우리가 스크린을 통해 보는 그림을 자세히 살펴보면 수많은 작은 점들이 있는데 이 작은점들을 픽셀이라하며 빨간색, 초록색, 파란색을 띄고 있다. 각각의 픽셀은 세 가지 색을 서로 다른 비율로 조합하여 특정한 색을 갖게 된다.

 

예를 들어 빨간색 72, 초록색 72, 파란색 33을 섞게 되면 노란색이 되는 것과 같은 방식이다. 
(16진수 RGB 색상코드에서는 빨간색 255, 초록색 228, 파란색 0을 섞게 되면 노란색이 된다. 네이버 색상 팔레트)

 

이 숫자들을 표현하는 방식을 RGB (Red, Green, Blue라고 한다. 

 

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

영상 또한 수많은 그림을 빠르게 연속적으로 이어 붙여놓은 것이기 때문에 숫자로 표현이 가능하다. 

음악도 마찬가지로 각 음표를 숫자로 표현할 수 있다.

댓글