두번째 공부(개발공부)/CS(Computer Science)

부스트 코스 CS50 2019 ] 컴퓨팅 사고 part.1 - 2진법

YTReeee 2023. 5. 25. 15:31

컴퓨터 사이언스와 관련하여 지난 포스팅에서는 챗 GPT에게 컴퓨터 사이언스가 무엇인지, 왜 공부해야 하는지를 다뤘다.

2023.05.18 - [두번째 공부(개발공부)/CS(Computer Science)] - Chat GPT와 컴퓨터과학에 대해 이야기해보기!

 

앞으로의 컴퓨터 사이언스 관련 포스팅은 CS50 2019 강의를 바탕으로 작성해보려고 한다.

첫번째 포스팅은 컴퓨팅 사고(Computing Thinking)이다.

컴퓨팅 사고에 대해서도 지난 번 포스팅에 다뤘었다.

챗 GPT는 컴퓨터적 사고란 컴퓨터 과학적 접근법을 사용하여 문제를 분석하고 해결하는 사공방식을 말한다고 정의했다.

 

첫번째로 알아볼 내용은 2진법이다.

우리 숫자를 세기 위해 다양한 진법을 사용한다.

일반적으로는 10진법을 많이 사용한다. 1~9까지 센 후에는 자리수를 올린다.

분, 초를 셀때는 60진법, 시간은 12진법을 사용한다.

일반적으로 수를 센다는 것은 특별한 의미가 없을 수 있다.

하지만, 경우에 따라 각각의 숫자의 셈이 의미를 갖는 경우가 있다. 시간과 돈이 대표적이겠다.

 

컴퓨터는 어떨까?

인간의 언어를 컴퓨터는 어떻게 받아들일까?

컴퓨터는 인간의 언어를 숫자화해서 이해하는데, 그중에서도 2진법의 수로 이해한다.

컴퓨터 내부에는 수많은 트랜지스터들이 있는데, 이 트랜지스터들이 켜졌다, 꺼졌다를 반복하며, 인간의 언어를 받아들인다고 한다.

트랜지스터가 켜졌다(1), 꺼졌다(0)는 숫자로 표현하면 2진법과 같다.

 

2진법에서 하나의 자릿수를 표현하는 단위는 비트(bit)이다.

1bit만으로는 많은 내용을 담을 수 없기 때문에 비트열을 사용하는데, 8개의 bit가 모이면, 1바이트(byte)가 된다.

1000바이트는 1킬로바이트, 1000킬로바이트(100만바이트) 는 1메가바이트 ... 처럼 큰 단위도 존재한다.

 

단위 정의 저장공간 크기
비트(bit) 0 또는 1 예 / 아니오
바이트(byte) 8비트 영어 알파벳 한개
킬로바이트(KB) 1,000 바이트 몇개의 문단
메가바이트(MB) 1,000 킬로바이트 1분 길이의 MP3 노래
기가바이트(GB) 1,000 메가바이트 30분 길이의 HD 영화
테라바이트(TB) 1,000 기가바이트 '심슨네 가족' 열 여섯 시즌

 

출처 : 부스트코스 CS50 2019

2진법 예제
1. 54를 2진법으로 표현하면? // 110110
2. 32를 2진법으로 표현하면? // 100000

컴퓨터의 사고 처리 방식을 이해하기 위해 2진법에 대해 알아보았다.

중고등학교 다닐 때, 배웠던 내용인데 참 생소하다.

부트캠프 커리큘럼이 생각보다 빡빡해서 여유가 없긴하지만, 틈틈히 강의를 듣고 포스팅해보자.