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

TIL

컴퓨터의 정보 처리

우리는 컴퓨터를 통해 다양한 정보를 처리한다. 간단한 숫자부터 문자, 사진, 영상, 음악까지 정보를 표현하는 형태는 매우 많다. 컴퓨터는 어떻게 이런 다양한 정보를 처리할까?

문자의 표현

컴퓨터는 스위치를 ON/OFF하면서 숫자를 표현한다. 그렇다면 문자는 어떻게 표현할까?

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

 

그중 하나가 ASCII(American Standard Code for Information Interchange, 아스키코드)로, 총 128개의 문자를 정의한다.

알파벳 'A'를 2진법으로 표현하면 다음과 같다. 10진법으로 65이므로 2^6×1 + 2^0×1 = 64+1, 즉 1000001이다.

 

ASCII는 영문 알파벳과 기본 기호만 표현할 수 있어 한계가 있다. Unicode는 더 많은 비트를 사용하여 전 세계의 다양한 문자를 표현한다.

Unicode는 😂(기쁨의 눈물) 같은 이모티콘도 표현할 수 있다. 이 이모티콘은 10진법으로 128,514, 2진법으로는 11111011000000010이다.

스마트폰으로 😂 이모티콘을 보낼 때, 실제로는 11111011000000010이라는 0과 1의 패턴을 전송한다. 이를 받은 상대방의 스마트폰이 이 패턴을 노란색 얼굴에 눈물을 흘리는 그림으로 보여주는 것이다.

 

그림, 영상, 음악의 표현

그림도 숫자로 표현할 수 있다.
스크린의 그림을 자세히 보면 수많은 작은 점들이 빨간색, 초록색, 파란색을 띤다. 이 작은 점을 픽셀이라고 부르며, 각 픽셀은 세 가지 색을 서로 다른 비율로 조합하여 특정 색을 만든다.


예를 들어 빨간색 72, 초록색 73, 파란색 33을 섞으면 노란색이 된다. 이 숫자들을 표현하는 방식을 RGB(Red, Green, Blue)라고 한다.
즉, 노란색 이미지는 72 73 33으로 정의되는 무수히 많은 픽셀들의 RGB 코드로 표현된다.


영상은 수많은 그림을 빠르게 연속적으로 이어 붙인 것이므로 숫자로 표현할 수 있다. 음악도 각 음표를 숫자로 표현할 수 있다.

 

연습 문제

Q. CS50을 2진법으로 표현해보자

C : 67 => 01000011
S : 83 => 01010011
5 : 53 => 00110101
0 : 48 => 00110000

참고: 0으로 시작하는 이유는 ASCII 코드가 8비트(1바이트)로 구성되어 있어 각 문자를 8개의 비트로 표현하기 때문이다.

'TIL' 카테고리의 다른 글

[TS] 인덱스드 액세스 타입  (0) 2025.11.05
[CS50] 컴퓨팅 사고 - 알고리즘  (0) 2025.11.05
[TS] 제네릭 함수 타입 정의 및 응용 연습  (0) 2025.11.04
[TS] 프로미스와 제네릭  (0) 2025.11.04
[TS] 제네릭 클래스  (0) 2025.11.04
'TIL' 카테고리의 다른 글
  • [TS] 인덱스드 액세스 타입
  • [CS50] 컴퓨팅 사고 - 알고리즘
  • [TS] 제네릭 함수 타입 정의 및 응용 연습
  • [TS] 프로미스와 제네릭
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157) N
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19) N
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4) N
        • 네트워크 (1) N
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    generic
    react
    typescript
    제네릭
    인터페이스
    Next.js
    알고리즘
    타입 좁히기
    ai 감성 일기장
    페이지 라우터
    memory
    Spa
    트러블 슈팅
    자료구조
    Pages Router
    앱 라우터
    CS
    C
    Trouble Shooting
    algorithm
    emotion diary
    문자열
    cs50
    App Router
    클래스
    배열
    javascript
    useState
    바닐라 자바스크립트
    함수 타입
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[CS50] 컴퓨팅 사고 - 정보의 표현
상단으로

티스토리툴바