[CS] Computer Science - 2진법 공부

우리나라 모 대기업에서 제공해주는 Computer Science 하버드 대학의 강의 알게되었다. 

당장 실무에서 사용되는 코딩 공부도 중요하지만 기본적인 학문도 알아두면 언젠간 꼭 도움이 될것이라 생각되어 듣게되었다.

오늘 학습한 내용에 대해서 적어보려한다.

오늘 배운 내용은 
- 컴퓨터 과학
- 2진법
- 비트
- 바이트


컴퓨터 과학이란 문제 해결에 대한 학문이다.

문제 해결은 입력(input)과 출력(output)을 만들어내는 과정이다.

input과 output 사이에 중간과정이 컴퓨터 과학이다.

그리고 이러한 input과 output을 표현하기 위해서 모두와의 약속(표준)이 필요하다.

그래서 그렇게 만들어진 약속중 표현방법에 대해서 학습했다.


2진법

우리가 일상 생활에서 사용하는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 와 같은 숫자들은 10진법이다.

하지만 컴퓨터는 오직 0 과 1로만 표현하는 2진법을 사용한다.

컴퓨터는 글, 사진, 영상, 소리 등 모든것을 0 과 1만으로 저장할 수 있다.


우선 아래의 123 을 보면
123


우리가 백이십삼이라고 읽는 이유는  1을 백의 자리, 2를 십의자리, 3을 일의 자리로 보기 때문이다.

즉  1x100 + 2x10 + 3x1 = 123 이 된다.


우리는 이러한 과정 1x100 + 2x10 + 3x1 이런식으로 생각하지않고 아주 당연하게 123이라고 여긴다.


왜냐하면 우리는 이러한 표현에 대한 약속이 있기 때문이다.


우리는 위에서 10의 거듭제곱을 표현했다.


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



번째 자리

번째 자리

번째 자리

번째 자리

10진법

10^3 = 1000

10^2 = 100

10^1 = 10

1

2진법

2^3 = 8

2^2 = 4

2^1 = 2

1



그럼 이러한 방법으로 10진법의 숫자 5를 2진법으로 표현하면 어떻게 표현할 수 있을까?


101 이라고 표현할 수 있다.

1                 0               1

(2^2 X 1) + (2^1 X 0) + 1    => 5


이런 이진법은 많은 사물에서도 사용되는데 그중에 전기를 켜고 끄는 방식의 컴퓨터에게도 적합한 방법이다.

컴퓨터에는 굉장히 많은 스위치(트랜지스터)가 있고 켜짐/꺼짐을 0과 1로 표현한다.

예를들면 꺼진것을 숫자 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 바이트)이며, 심지어 페타바이트와 엑사바이트와 같은 단위도 존재한다.







단위      /   정의   /    저장공간 크기

비트(bit)  /  0 또는 1  /  예 또는 아니오

바이트(byte)  /  8비트  / 영어 알파벳 한 개

킬로바이트(KB)  /  1,000 바이트 /  몇개의 문단

메가바이트(MB)  /  1,000 킬로바이트  / 1분 길이의 MP3

기가바이트(GB)  / 1,000 메가바이트  /  30분 길이의 HD영화

테라바이트(TB)  / 1,000 기가바이트  /  '심슨네 가족' 열 여섯 시즌




댓글