
우리가 일상적으로 사용하는 컴퓨터는 어떤 원리로 작동될까?
또, 우리가 컴퓨터를 사용하여 해결하는 여러 일들은 어떻게 가능한걸까?
컴퓨터 과학이란 무엇이고, 컴퓨터가 작동하게 하기 위해 어떤 약속들이 필요한지 살펴보자.
컴퓨터 과학은 문제 해결에 대한 학문이다.
문제 해결은 입력(input)을 전달받아 출력(output)을 만들어내는 과정이며 그 중간에 있는 과정이 바로 컴퓨터 과학이라고 할 수 있다.
입력과 출력을 표현하기 위해선 우선 모두가 동의할 약속(표준)이 필요하고, 그렇기에 컴퓨터 과학의 가장 첫 번째 개념은 어떻게 표현하는지에 대한 표현 방법이라고 할 수 있다.
우리가 일상에서 사용하는 10진법은 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 총 10개의 기호로 표현하지만, 컴퓨터는 오직 0과 1로만 데이터를 표현하며 이를 2진법이라고 한다.
컴퓨터는 0과 1만으로 숫자 분만 아니라 글자, 사진, 영상, 소리 등을 저장할 수 있다.
2진법에서는 각 자리수가 2의 거듭제곱을 의미한다.

이 방식으로 10진법의 3을 2진법으로 표현하면 아래와 같다.

이와같은 2진법은 전기를 통해 연산하는, 즉 전기를 켜고 끄는 방식으로 작동하는 컴퓨터에게 적합한 방법이다. 컴퓨터에는 굉장히 많은 스위치(트렌지스터)가 있고 on/off 상태를 통해 0과 1을 표현한다.
이때, 컴퓨터가 2진법에서 하나의 자릿수를 표현하는 단위를 비트(bit)라고 한다.
정보를 저장하고 연산을 수행하기 위해 컴퓨터는 비트(bit)라는 측정 단위를 쓴다.
비트는 이진 숫자라는 뜻을 가진 “binary digit”의 줄임말이며, 0과 1, 두 가지 값만 가질 수 있는 측정 단위이다. 디지털 데이터를 여러 비트들로 나타냄으로써 두 가지 값만을 가지고도 많은 양의 정보를 저장할 수 있으며, 컴퓨터는 저장되어 있는 데이터를 수정하기 위해 비트에 수학적 연산을 수행할 수 있다.
하나의 비트는 0과 1, 이 두 가지의 값만 저장할 수 있다. 컴퓨터 내부에서 물리적으로 표현될 때는, 켜고 끌 수 있는 스위치라고 생각할 수 있다. (켜기=1, 끄기=0)

하지만 비트 한 개는 많은 양의 데이터를 나타내기에 턱없이 부족하다. 그렇기 때문에 여러 숫자 조합을 컴퓨터에 나타내기 위해 비트열을 사용한다.
바이트(byte)는 여덟 개의 비트가 모여 만들어진 것이다.

하나의 바이트에 여덟 개의 비트가 있고, 비트 하나는 0과 1로 표현될 수 있기 때문에 2^8 = 256 개의 서로 다른 바이트가 존재할 수 있다.
바이트가 모이면 더 큰 단위가 될 수 있다.
킬로바이트는 1,000 바이트, 메가바이트는 1,000 킬로바이트(100만 바이트), 기가바이트는 1,000 메가바이트(10억 바이트)이다. 테라바이트는 1,000 기가바이트(1조 바이트)이며, 심지어 페타바이트와 엑사바이트와 같은 더 큰 단위도 존재한다.
하나의 비트로는 어떠한 값이 참인지 거짓인지, 예를 들면, 노트북이나 휴대전화가 충전 중인지 아닌지에 대한 정보만 컴퓨터에 저장할 수 있다. 하나의 바이트(8 bit)로 알파벳 하나를 표시할 수 있다.
더 큰 데이터 단위는 좀 더 복잡한 유형의 데이터를 저장할 수 있다. 아래의 표에 따르면 1 KB는 몇 문단의 문자를 나타낼 수 있고, 1 MB는 1분가량의 노래 파일의 크기와 같고, 1 GB는 약 30분 길이의 HD 영화 정도의 크기이다.

101