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

2021. 10. 11. 23:57·CS: Computer Science/CS50 2019
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코드(숫자)로 표현할 수 있다. 

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

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

저작자표시 (새창열림)

'CS: Computer Science > CS50 2019' 카테고리의 다른 글

[모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 4)5)스크래치  (2) 2021.10.14
[모두를 위한 컴퓨터 과학 CS50 2019] 1.컴퓨팅 사고 - 3)알고리즘  (0) 2021.10.14
[모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 1) 2진법  (4) 2021.10.11
'CS: Computer Science/CS50 2019' 카테고리의 다른 글
  • [모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 4)5)스크래치
  • [모두를 위한 컴퓨터 과학 CS50 2019] 1.컴퓨팅 사고 - 3)알고리즘
  • [모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 1) 2진법
ro117youshin
ro117youshin
코딩 / 외국어공부 (영어, 중국어) / 독서 등 자기계발을 기록합니다.
  • ro117youshin
    Taking an extra step
    ro117youshin
  • 전체
    오늘
    어제
    • 분류 전체보기 (153)
      • DDD (5)
      • JAVA (13)
      • Spring Boot (2)
      • Spring (4)
      • MySQL (1)
      • C (1)
      • Algorithm & Data Structure (34)
        • study (15)
        • programmers (0)
        • boj (18)
        • assignments (1)
      • CS: Computer Science (6)
        • CS50 2019 (4)
        • Network (2)
        • Database (0)
      • Git (3)
      • foreign language (16)
        • English (0)
        • Chinese (16)
      • BOOK (2)
      • ETC (2)
      • youtube.com|user|egoing2 (64)
        • WEB1 - HTML & Internet (5)
        • WEB2 - CSS (9)
        • WEB2 - JavaScript (18)
        • JavaScript Immutability (0)
        • DATABASE1 (4)
        • DATABASE2 MySQL (12)
        • JAVA1 (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준
    HSK6급필수어휘
    Domain Driven Design
    중국어공부
    HSK6급
    HSK6급모의고사
    mysql
    BOJ
    HSK6급공부
    코딩공부
    variable
    자바
    JAVA1
    도메인 주도 설계
    Java
    Java자료구조
    객체
    HTML
    DATABASE2
    조건문
    생활코딩
    알고리즘문제
    css
    js
    baekjoon
    ddd
    javascript
    개발공부
    최범균
    나의 앱 만들기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
ro117youshin
[모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 2)정보의 표현
상단으로

티스토리툴바