[컴퓨팅 사고] 2진법
tech

[컴퓨팅 사고] 2진법

컴퓨터 과학이란 무엇이고, 컴퓨터가 작동하기 위해 어떤 약속들이 필요한지, 일상적으로 사용하는 컴퓨터의 원리를 알아보자.

 

💡 핵심단어 : 컴퓨터 과학, 2진법, 비트, 바이트

 

컴퓨터 과학

문제 해결에 대한 학문을 말하며 input과 output 사이에 있는 과정을 말한다.

입력과 출력을 표현하기 위해선 모두의 공용어(표준, 약속)이 필요하다. 따라서 컴퓨터 과학의 가장 첫 번째 개념은 어떻게 표현하는지에 대한 표현 방법이다.

 

2진법

우리가 일상에서 사용하는 숫자는 0부터 9까지 총 10개의 기호로 표현한다. 이를 10진법이라 부른다.

하지만 컴퓨터에는 이렇게 많은 숫자들이 들어있지 않다. 오직 0과 1로만 데이터를 표현한다. 이를 2진법이라 부른다.

즉, 컴퓨터는 2진법을 활용해 숫자, 글자, 사진, 영상, 소리 등을 저장할 수 있다.

 

123 = 100 * 1 + 10 * 2 + 1 * 3

이것을 표현하면 '백이십삼'이라고 읽는다. 10의 거듭제곱으로 표현했기 때문이다.

 

비슷하게 2진법에서는 두 개의 숫자만 있으므로 각 자리수가 2의 거듭제곱을 의미한다.

10진법의 3을 2진법으로 표현한다면, 11 = 2^2 * 1 + 2^0 * 1 으로 표현할 수 있다.

이와 같은 2진법은 전기를 켜고 끄는 방식으로 작동하는 컴퓨터에게 적합한 방법이다.

컴퓨터는 굉장히 많은 스위치(트렌지스터)가 있고 on/off 상태를 통해 0과 1을 표현한다.

 

비트

정보를 저장하고 연산을 수행하기 위해 컴퓨터는 비트(bit)라는 측정단위를 사용한다.  이진 숫자라는 뜻을 가진 'binary digit'의 줄임말이며, 0과 1, 두가지 값만 가징 수 있는 측정 단위이다. 디지털 데이터를 여러 비트들로 나타냄으로써 두 가지 값만을 가지고도 많은 양의 정보를 저장할 수 있다. 또한, 컴퓨터는 저장되어 있는 데이터를 수정하기 위해 비트에 수학적 연산을 수행할 수 있다.

 

비트열

하나의 비트에는 0과 1, 두 가지의 값만 저장할 수 있다. 컴퓨터 내부에서 물리적 표현될 때는, 켜고 끌 수 있는 스위치라고 생각할 수 있지만, 비트 한 개는 많은 양의 데이터를 나타내기에 턱없이 부족하다. 때문에 여러 숫자 조합을 컴퓨터에 나타내기 위해 비트열을 사용한다. 바이트(byte)는 여덟 개의 비트가 모여 만들어진 것이다. 하나의 바이트에 여덟 개의 비트가 있고, 비트 하나는 0과 1로 표현될 수 있기때문에 2^28 - 256 개의 서로 다른 바이트가 존재할 수 있다.

 

바이트가 모이면 더 큰 단위가 될 수 있다. 킬로바이트는 1,000바이트, 메가바이트는 1,000킬로바이트(100만 킬로바이트), 기가바이트는 1,000 메가바이트이다. 테라바이트는 1,000 기가바이트(1조 바이트), 페타바이트와 엑사바이트와 같은 더 큰 단위도 존재한다.

 

출처 - 부스트코스 CS50 강의

'tech' 카테고리의 다른 글

justify-content: space-between isn't working in css  (0) 2021.09.04
[컴퓨팅 사고] 정보의 표현  (0) 2021.08.30
CSS 미디어 쿼리  (0) 2021.08.26
유클리드 알고리즘을 이용한 최대 공약수  (0) 2021.08.17
Docker Copy, Dockerfile  (0) 2021.08.13