CS/모두를 위한 컴퓨터 과학 CS50

[CS50]컴퓨터의 표현법, 컴퓨터는 어떻게 데이터를 표현할까

mabb 2023. 2. 24. 16:45
반응형

모두를 위한 컴퓨터 과학(CS50 2019)를 바탕으로 부족한 CS지식을 다져보고자 정리해본다.
=======================================================================

전기 신호와 사람에게 익숙한 데이터간의 전환

 

 컴퓨터가 다루는 유일한 자원은 바로 '전기'이다.
컴퓨터는 전기만 주면 이를 가지고 숫자, 문자, 이미지, 영상, 음악 등 대부분의  것들을 표현할 수 있는 것이다. 전기의 ON/OFF가 1과0이 되고 1과0을 이용한 이진법으로 숫자를 표현하고 숫자로  문자와 이미지, 음악을 만들어 출력한다.

▷인간에게 익숙한 숫자-십진법
인간은 0~9의 숫자를 이용한 십진법을 사용한다.
십진법 123을 체계적으로 살펴보면 다음과 같다.
  123
  100 + 20 + 3
  (10²×1)+(10¹×2)+(10⁰×3)
우리는 십진법의 이러한 규칙을 당연하게 여긴다. 이진법의 원리도 이와 동일하다.

▷컴퓨터의 표현법, 이진법
전기는 ON/OFF의 두 가지 상태가 존재하며 컴퓨터에는 수 많은 스위치(트랜지스터)가 있으며 이를 이용하여 전기의 ON/OFF, 즉 1과 0을 표현한다.전기로 표현할 수 있는 것은 On과 Off. 1과 0뿐이다.
  스위치 켜짐(ON)    : 참(true)      : 전압 V㏄[V]  : 1
  스위치 꺼짐(OFF)  : 거짓(false)  : 전압 0[V]     : 0
십진법 123을 이진법으로 표현하면 다음과 같다.
  123(십진법)
  64+32+16+8+0+2+1
  (2⁶×1)+(2⁵×1)+(2⁴×1)+(2³×1)+(2²×0)+(2¹×1)+(2⁰×1)  
  1111011(이진법)

▷비트(bit, binary digit)
이진법에서 1또는 0으로 표현할 수 있는 하나의 자릿수를 비트라고 한다. 여러개의 비트와 이진법을 이용하면 디지털로 데이터를 표현할 수 있는 것이다.

▷비트열
한 개의 비트로는 많은 양의 데이터를 표현하기에 턱없이 부족하다. 그렇기때문에 비트열을 사용하여 데이터를 표현하는데 8bit를 바이트(byte)라고 한다. 여덟자리의 비트, 즉 바이트로는 2⁸ = 256가지의 값을 만들 수 있다.

▷비트의 단위와 데이터 표현
1비트(bit): 0또는1 // 예,아니오
1바이트(byte): 8bit  // 영어 알파벳 1개
1킬로바이트(kB): 1,000byte // 몇 개의 문단
1메가바이트(MB): 1,000kB // 1분 길이의 MP3노래
1기가바이트(GB): 1,000MB  // 30분 길이의 HD영화
1테라바이트(TB): 1,000GB  //미드 시리즈
1페타바이트(PB): 1,000TB
1엑사바이트(EB): 1,000PB
1제타바이트(ZB): 1,000EB
1요타바이트(YB): 1,000ZB

▷1과0, bit로 문자,영상,음악 등 모든 것을 표현할 수 있다.
이진법을 통해 전기 신호로 모든 숫자를 표현할 수 있다.
그리고 데이터를 숫자로 표현할 수 있도록 약속을 하였다.
예를 들면 대문자 A는 65, 하얀색은(255,255,255)로 표현한다는 약속.
결국 전기 신호로 모든 데이터를 표현할 수 있다.

▷문자를 숫자로 표현하기 위한 약속
아스키코드(ASKII) => 유니코드 (아스키코드보다 더 많은 문자를 숫자로 표현하기 위한 약속)

▷숫자로 데이터를 표현.
이미지는 픽셀이라는 점으로 표현, 하나의 픽셀에는 색을 표현하는 RGB의 숫자 값이 있다.
영상은 이미지를 빠르게 움직이도록 하는 것.
음악은 각 음표와 음의 세기 등을 숫자로 표현.

▷인간들은 모든 것을 숫자로 표현할 수 있도록 모두가 동의할 약속을 만들었다.
그리고 컴퓨터는 전기신호로 만들어내는 1과0으로 모든 숫자를 표현할 수 있다.
즉, 컴퓨터는 전기신호로 모든 데이터를 표현할 수 있다.

 

반응형