1. 문자의 표현
* 문자의 표현
지난 장에서 2진법으로 0,1 외에 더 큰 숫자를 표현하는 것을 보았다. 그렇다면 우리가 쓰고있는 문자는 어떻게 표현하는 것일까. 이 또한 숫자로 표현이 가능하다. 이 때 표준으로 정해진 부호가 바로 ASCII(아스키)코드이다. 미국정보교환표준부호(American Standard Code for Information Interchange)의 약자 답게 모든 영어가 숫자와 대응되어있다.
* 아스키코드
각 알파벳에 대응되는 숫자는 아스키코드 표를 찾아보면 쉽게 알 수 있다.
아스키코드는 128개의 부호가 있다. 그 중 십진법으로 65부터 대문자A가 시작된다. 참고로 소문자a는 97이며, 숫자 1은 49이다. 특수 문자도 있으니 자세한 내용은 직접 찾아보는 것도 좋을 것 같다.
그러나 아스키코드는 알파벳만 지원한다는 한계가있다. 세계에는 수많은 언어가 있고, 요즘은 😂와 같은 이모티콘도 존재한다. 그래서 등장한 것이 유니코드(Unicode)라는 표준코드이다. 참고로 위의 기쁨의눈물 이모티콘은 10진법으로 128,514에 해당하며 2진법으로는 11111011000000010 이다.
2. 그림의 표현
* 그림의 표현
문자의 표현을 알아보았으니 이제 더 확장해보자. 과연 그림과 같은 이미지는 어떻게 숫자로 표현할까. 이 또한 간단하다. 빛의 3원색이라 불리는 Red, Green, Blue 세가지로 표현이된다.
화면에 보이는 이미지는 수많은 점들의 집합이라는 것을 알 것이다. 이 점 하나하나는 픽셀이라 불리며, 세 가지의 색이 서로 다른 비율로 섞여있다. 노란색을 표현할 때 빨강72,초록72,파랑33 과 같이 나타내는 것이다.
위와 같이 특정 색을 세가지의 색으로 숫자로 표현하는 방식을 RGB코드라 한다. 우리가 흔히 아는 이미지와 관련된 것들 모두 이 RGB와 연관이 있다. 모니터뿐만 아니라 포토샵과 같은 프로그램도 RGB를 이용한다.
참고
이 글은 하버드 대학교 David Malan 교수의 CS50 강의를 수강 후 정리하며 쓴 글입니다.
CS50 공식사이트
부스트코스
위키백과 아스키코드
'Computer Science > Computer Organization' 카테고리의 다른 글
<메모리> 메모리와 포인터 (0) | 2021.02.17 |
---|---|
<컴퓨터 구조> 컴파일링과 디버깅 (0) | 2021.01.27 |
<컴퓨터 구조> 하드웨어의 한계 (0) | 2021.01.20 |
<컴퓨팅 사고> 알고리즘 (0) | 2021.01.19 |
<컴퓨터 구조> 컴퓨터 과학과 2진법 (0) | 2021.01.17 |