본문 바로가기

Computer Science/Computer Organization

<컴퓨터 구조> 컴퓨터 과학과 2진법

 

1. 컴퓨터 과학

 컴퓨터과학(Computer Science)는 CS라 불리며, 이는 단순히 문제 해결에 초점을 맞춘 하나의 학문이다. 여기서 문제 해결은 입력(input)을 전달받아서 출력(output)을 만들어내는 과정이다. 이 때 입력과 출력 사이에 존재하는 과정자체가 컴퓨터과학이다.

 

 입력과 출력을 표현하기 위해서는 모두가 동의하는 표준이 필요한데, 그래서 알아보고자 하는 것이 컴퓨터의 표현 방법이다. 

 

2. 2진법

 2진법이라는 개념은 대부분의 사람들이 중학교 과정에서 이미 배웠기 때문에 알고 있다. 흔히 사용하는 10진법과 달리 모든 숫자를 0과 1로만 표현하는 진법이다.

 

 컴퓨터는 이 0과 1로 우리가 아는 모든 숫자를 표현할 수 있을 뿐만아니라 문자부터 사진까지 게다가 영상과 소리도 표현할 수 있다.

 

 5라는 숫자를 2진법으로 나타내어보자. 2진법에서 첫 번째자리는 2의0제곱 두 번째 자리는 2의1제곱 세 번째 자리는 2의2제곱을 나타낸다. 따라서 5를 나타내는 2진법 숫자는 101(2)이다.

 

* 비트

 컴퓨터는 2진법에서 위와 같이 숫자를 나타낼 때 하나의 자릿수를 비트(bit)라고 한다. 비트는 정보를 저장하고 연산을 수행하는 컴퓨터의 측정단위이다. 컴퓨터는 0과 1을 마치 전구스위치가 꺼졌거나(0) 켜졌거나(1)와 같이 인식한다. 이는 False 와 True로도 나타낼 수 있다. 이렇게 마치 전구를 켜고 끄는 방식은 트랜지스터의 방식과 유사하다. 컴퓨터에는 이러한 트랜지스터가 무수히 많이 들어있으며, 이를 통해 0과1을 표현한다.

 

* 비트열

 비트는 하나의 자릿수만을 나타내므로 커다란 데이터를 표현하기에는 모자라다. 이 때 등장하는 개념이 비트열이다. 우리가 흔히 알고 있는 바이트(Byte)가 여기서 등장한다. 

 

 바이트는 8개의 비트가 모여있는 비트열이다. 비트는 0과 1로 이루어져있으므로 1바이트는 256(=2^8)개의 서로 다른 값을 표현할 수 있다. 바이트보다 큰개념으로는 킬로바이트(KB), 메가바이트(MB), 기가바이트(GB), 테라바이트(TB) 가 있으며, 킬로바이트는 약1,000바이트를 나타낸다. 크기는 순서대로 약 1000배씩 올라간다. 우리가 흔히 보는 영화가 한편에 3~4GB이므로 테라바이트의 크기는 어마어마하다는 것을 알 수 있다. 

 

 

 


 

 

참고

 

 

이 글은 하버드 대학교 David Malan 교수CS50 강의를 수강 후 정리하며 쓴 글입니다.

 

 

 

CS50 공식사이트

 

CS50

Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, r

cs50.harvard.edu

 

부스트코스

 

다 함께 배우고 성장하는 부스트코스

부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다.

www.boostcourse.org