Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Development Log

[CS50] 컴퓨팅 사고 - 정보의 표현 본문

성장 여행기/CS50

[CS50] 컴퓨팅 사고 - 정보의 표현

gu-su 2022. 3. 23. 04:46

문자의 표현

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

 

문서프로그램

컴퓨터는 패턴을 숫자로 해석해서 HI!로 표현한다.

72 73 33 => HI!

 

1. ASCII (아스키코드, American Standard Code for Information Interchange)

  • 미국정보교환표준부호이다.
  • 대표적인 문자 인코딩이다. 
  • 총 128개의 부호로 정의되어 있다.
    0 => 48(10진법) => 00101100(2진법)
    A => 65(10진법) => 01000001(2진법)
    a => 97(10진법) => 01100001(2진법)

 

ASCII로는 문자들을 표현하기에 충분하지 않다.
ASCII은 미국식 영어에 편향되어 있는데 세상에는 다른 글자들도 많다. 
(악섹트가 있는 글자들이나 다른 언어들 등)

 

2. Unicode (유니코드)

  • ASCll 보다 더 많은 비트를 사용하여 더 다양한 다른 문자들도 표현가능 하도록 지원한다.
  • ASCll의 상위 집합과 같다.
  • 😂(기쁨의 눈물) => 128,514 (10진수) => 1 11110110 00000010 (2진법)

 

😂 이모티콘을 보낼 때, 내 핸드폰은 친구의 핸드폰에게 위의 2진법과 같은 0과 1의 패턴을 보낸다. 
안드로이드나 iOS는 0과 1의 패턴을 노란색 사진으로 나타낸다.
(사진은 작은 점들도 이루어져 있다. 화질이 낮다면 실제로 그 점들을 볼 수 있다.)
즉, 이모티콘과 같은 얼굴은 수많은 점들로 이루어져 있다. 
컴퓨터는 각 점들을 RGB라고 불리는 체계에 의해 표현한다. 

 

 

그림의 표현

  • 문자와 같이 그림도 숫자로 표현할 수 있다
  • 스크린을 통해 보는 그림은 수많은 작은 점(픽셀)들로 이루어져 있다.
  • 각각의 픽셀은 세 가지 색(빨간, 초록, 파랑)을 서로 다른 비율로 조합하여 특정한 색을 갖게 된다. 

 

그래픽을 사용하는 프로그램 (포토샵, Apple Photo 등)

컴퓨터는 패턴을 숫자로 해석해서 빨강, 초록, 파랑의 양으로 받아들이게 된다.

72 73 33 =>  빨간색 72, 초록색 73, 파란색 33을 섞은 색

 

영상의 표현

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

 

음악의 표현

  • 각 음표를 숫자로 표현할 수 있다. 

 

0과 1을 사용해 2진수를 나타내고
2진수를 통해 10진수를 나타내고
10진수를 사용해 화면상의 글자나 색깔을 나타내고
나아가 영상까지 만들어 낸다.

어떤 방법을 사용
해서 정보를 나타내든 결국 0과 1들로 표현된다. 

 

think about

1) CS50을 2진법으로 표현해보세요.

더보기

[ ASCII ] CS50 : 01000011 01010011 00110101 00110000

 

10진법

C : 67 (= 64+2+1)

S : 83 (= 64+16+2+1)

5 : 53 (= 32+16+4+1)

0 : 48 (= 32+16)

 

2진법 

C : 01000011

S : 01010011

5 : 00110101

0 : 00110000

 

David J. Malan의 강의

 

모두를 위한 컴퓨터 과학 (CS50 2019)

부스트코스 무료 강의

www.boostcourse.org

'성장 여행기 > CS50' 카테고리의 다른 글

[CS50] C언어 - 조건문과 루프  (0) 2022.03.25
[CS50] C언어 - 문자열  (0) 2022.03.24
[CS50] C언어 - 기초  (0) 2022.03.24
[CS50] 컴퓨팅 사고 - 알고리즘  (0) 2022.03.24
[CS50] 컴퓨팅 사고 - 2진법  (0) 2022.03.23