Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Contents

Bit의 유래

비트는 정보의 최소단위로 이들 연속된 비트를 읽어서 해석해서 정보를 재현한다. 통일적이고 연속적인 작은 조각들이 반복됨으로써 정보를 재현하는 것은 쿠텐베르크에 의한 인쇄/출판이 그 시초라고 할 수 있다. 예를들어 영어 알파벳을 기본으로하는 인쇄물의 경우 27개의 조각들이 연속적으로 반복됨으로써 필요한 정보를 담아낸다.

27개의 조각을 이용해서 필요한 정보를 담아낼 수 있다면, 2개의 조각을 이용해서 정보를 담아내는 것도 가능할 것이다. 바로 0과 1즉 디지털 정보다. 0과 1로 나타낼 경우 얻을 수 있는 잇점은 기호인 알파벳과 달리 더 좁은 영역에 정보를 압축할 수 있다는 점이다. 0과 1은 상태정보를 저장을 할 수 있기 때문이다. 현대의 전자공학은 그 최소단위를 분자수준까지로 압축할 수 있는데, 이는 좁은영역에 엄청난 정보를 저장할 수 있는 길을 열어주었다.

bit가 지금의 bit의 의미로 사용된 것은 1948년 Claude E. ShanonA Mathematical Theory of Communication논문인 것으로 알려져 있다.

Bit의 재현

컴퓨터공학에서 사용되는 최소단위인 Bit는 좁은공간에 많은 데이터를 담을 수 있게 해준다. 여기에 다양한 데이터로도 재현을 할 수 있다는 장점도 가지고 있다. 그 단위가 상당히 큰 알파벳의 경우에는 텍스트를 나타내는데에는 효율적이지만 그림을 나타내는 데에는 비효율적이다. 그러나 텍스트를 이루는 기본단위라고 할 수 있는 을 최소단위로 사용한다면 텍스트 뿐만 아니라 그림도 그려낼 수 있다.

컴퓨터에서는 "점"이라고 볼 수 있는 최소단위인 Bit를 이용함으로써, 텍스트 뿐만 아니라 그림 오디오와 같은 다양한 데이터를 저장할 수 있다.

문제는 재현이다. 저장된 데이터는 텍스트, 이미지 혹은 오디오로 필요에 따라서 재현될 수 있어야 하기 때문이다. 컴퓨터는 저장되어 있는 비트의 나열이 어떠한 정보인지를 알지 못한다. 그래서 소프트웨어를 이용해서 데이터를 재현한다. 워드프로세스는 정보를 텍스트 형태로 재현할 것이고, mp3 소프트웨어는 소리형태로 재현한다.

소프트웨어도 역시 Bit의 나열로 된 특수한 형태의 정보다. 소프트웨어는 형태가 아닌 프로세스 즉 데이터를 처리하는 방식의 재현이다. 재현을 하기 위해서는 해석을 해야 하는데, 이러한 재현은 운영체제(:12)가 담당한다. 운영체제는 소프트웨어를 재현하고 소프트웨어는 정보를 읽어서 나름대로의 용도에 맞게 재현하는 식이다.

운영체제역시 bit의 나열이므로 그 스스로의 역할을 하기 위해서는 해석되어서 재현되는 과정을 거쳐야 한다. 이 재현과정은 이 문서가 설명할 수 있는 범위를 벗어난다. 여기에서는 설명하지 않을 것이다.

Byte, Kilobyte, Megabyte

영어 알파벳을 보자. 알파벳을 이용하면 많은양의 데이터를 저장할 수 있는데, 저장을 하는 단위가 있다. 최소단위는 알파벳 한자이다. A4지 한장은 대략 300자 정도의 알파벳을 저장할 수 있을 것이다. 책한권은 아마도 수십만에서 수백만의 알파벳을 저장할 수 있을 것이다. 더 확대해서 도서관은 수천에서 수만권정도의 책을 저장하게 된다.

컴퓨터공학에서 사용되는 Bit 는 영어알파벳에 비해서 훨씬 좁은공간에 훨씬 많은 정보를 저장할 수 있다. 그러므로 사용하기 쉽게 그 단위를 규모화 할 필요가 있다. Byte는 Bit가 8개 모인 정보단위로 Bit와 함께 기본정보단위로 사용이 된다. 그 보다 큰 정보단위는 2의 10의 배승단위로 정의되어 있다.

아래는 정의된 정보단위들이다. kilo, mega, giga, tera 까지는 아마도 많이 들어봤을 것이다.
kilobyte kB 2^10 10^3
megabyte MB 2^20 10^6
gigabyte GB 2^30 10^9
terabyte TB 2^40 10^12
petabyte PB 2^50 10^15
exabyte EB 2^60 10^18
zettabyte ZB 2^70 10^21
yottabyte YB 2^ 80 10^24
C 프로그래밍언어에서는 byte가 데이터를 저장하기 위한 최소공간으로 사용된다. 어떤 데이터를 저장하기 위해서는 데이터의 크기에 맞는 바이트 크기를 메모리에 할당받아서 사용하게 된다. 이러한 작업은 malloc(:2)등의 함수를 통해서 이루어진다. C(:12)에서 1바이트 크기를 가지는 자료구조는 char로, -128에서 127사이의 값을 저장할 수 있다.

ASCII 테이블

컴퓨터공학에서의 최소단위는 비트이며, 비트를 해석함으로써 재현이 가능하다는 것을 알게 되었다. 이 중 컴퓨터에서 가장 일반적으로 사용될만한 데이터를 표준의 형태로 정의해놓은 것이 있다. 이것이 ASCII(:12) 코드이다. 여기에는 표준적으로 사용될 수 있는 데이터 즉 영어 알파벳, !?@#..와 같은 특수기호문자들과 백스페이스, Ctrl+C, Ctrl+Z 와 같은 컨트롤 문자들이 정의되어 있다.

http://www.asciitable.com/index/asciifull.gif

예컨데 1100101은 문자 A 혹은 숫자 101로 재현될 수 있다.

호비트, 호바이트