※ 우선 여기에서는 컴퓨터에서 인식되는 2진법과 각 이미지나 문자를 어떻게 표현하는지 알아볼 것이다.
◎ 컴퓨터 과학
- 컴퓨터 과학은 어떠한 입력(input)을 전달받아 출력(output)을 만들어내는 과정이다.
- 이러한 입력과 출력을 표현하기 위해선 우선 모두가 동의하는 약속(표준)이 필요하다.
◎ 2진법
- 우리가 일반적으로 사용하는 0,1,2,3,4,5,6,7,8,9 와 같이 표현하는 것은 10진법이다.
- 그러나 컴퓨터는 0과 1로만 데이터를 표현하고 이를 2진법이라고 한다.
- 그런데 2진법으로 어떻게 글자, 사진, 영상, 소리등을 저장할 수 있을까??
네번째 자리 | 세번째 자리 | 두번째 자리 | 첫번째 자리 | |
10진법 | 10³ = 1000 | 10² = 100 | 10¹ = 10 | 1 |
2진법 | 2³ = 8 | 2² = 4 | 2¹ = 2 | 1 |
◎ 비트
- 'binary digit'의 줄임말로 여기서 binary는 ‘이진수의’ 라는 뜻이다. 이진수란 두 개의 숫자로 구성된 숫자 체계를 말함.
- 컴퓨터에서 사용하는 가장 작은 정보 단위.
- 컴퓨터는 많은 수의 비트를 활용하여 정보를 표현을 한다.
- 1byte = 8bit
- 컴퓨터 속에는 트랜지스터라는 아주 작은 스위치가 있고, 이것을 on/off를 통해 0과 1을 표현하여 정보를 표현하고 값을 저장한다.
◎ 비트열
- 비트 한 개로는 많은 양의 데이터를 나타내기에는 부족하다. 따라서 여러 숫자 조합을 컴퓨터에 나타내기 위해 비트열을 사용한다.
- 하나의 바이트에 여덟 개의 비트가 있고, 비트 하나는 0과 1로 표현될 수 있기 때문에 2^8= 256 개의 서로 다른 바이트가 존재할 수 있다.
- 바이트가 모이면 더 큰 단위가 될 수 있다. 킬로바이트,메가바이트,기가바이트,테라바이트,페타바이트,엑사바이트와 같은 큰 단위도 존재.
단 위 | 정 의 | 저장공간의 크기 |
비트(bit) | 0 or 1 | 예 / 아니오 |
바이트(byte) | 8비트 | 알파벳 한 문자 |
킬로바이트(KB) | 1,000 바이트 | 몇 개의 문단 |
메가바이트(MB) | 1,000 킬로바이트 | 1분 가량의 MP3 노래 |
기가바이트(GB) | 1,000 메가바이트 | 30분 가량의 HD영화 |
테라바이트(TB) | 1,000 기가바이트 | 영화 수백편 |
◎ 문자의 표현
- 앞서 말한 내용에 컴퓨터는 2진법 즉 숫자로만 인식을 받을 수가 있다.
- 따라서 문자를 숫자로 표현할 수 있도록 정해진 약속(표준)이 있다.
- 그중 하나인 ASCII(아스키코드)는 총 128개의 부호로 정의되어 있다.(A는 10진수를 65, B는 66으로 표현)
- 그러나 아스키코드는 이모지와 같은 문자를 표현할 수 없어서 유니코드를 사용한다.(훨씬 많은 0과 1의 패턴을 표현할 수 있음)
- 한가지 예로 😂(기쁨의 눈물) 이런 이모티콘까지 표현할 수 있게 해주었다.
- 이 이모티콘은 10진법으로 128,514이다. 2진법으로는 11111011000000010 이다.
- 😂(기쁨의 눈물) 이모티콘을 친구에게 보내면 11111011000000010을 보낸 것이다.
◎ 그림, 영상, 음악의 표현
- 문자와 같이 그림도 역시 숫자로 표현할 수 있다.
- 그림은 수많은 작은 점들이 모인 것이고 이러한 작은 점을 픽셀이라고 부른다.
- 이 픽셀은 RGB(빨간색, 초록색, 파란색)을 이용해 서로 다른 비율로 조합하여 색을 나타낸다.
- 예를 들어 빨간색 72, 초록색 72, 파란색 33을 섞게 되면 노란색이 되는 것과 같은 방식이다.
- 따라서 모든 점들은 3개의 값으로 저장됨(RGB(Red, Green, Blue))
- 영상 또한 수많은 그림을 빠르게 연속적으로 이어 붙여놓은 것이기 때문에 숫자로 표현이 가능하다.
- 음악도 마찬가지로 각 음표를 숫자로 표현할 수 있다.
'CS' 카테고리의 다른 글
배열과 해시테이블(Array and HashTable) (0) | 2021.07.23 |
---|---|
자료구조 기초 (0) | 2021.06.17 |