2진법
- 컴퓨터 과학 = 문제를 해결하는 과정
- input -> computer science => output
- 컴퓨터에게 입력과 출력을 어떻게 표현해야할까? => 2진법
2진법은 어떻게 작동하는가?
- 사람들은 보통 10개의 손가락으로 10진법을 사용한다.
- 컴퓨터는 0과 1로 이미지, 영상등을 저장한다.
- 10진법이 10의 거듭제곱으로 숫자를 표기하듯이 2진법은 2의 거듭제곱을 사용한다.
- 0과 1을 비트라고 한다.
- 기계는 전기가 유일한 입력이므로 전기가 흐르는것과 흐르지 않는 것으로 나뉜다. => 비트
- 8비트는 1바이트다
- 트랜지스터는 컴퓨터 속에 있는 아주 작은 스위치다. 이를 물리적으로 이용해서 정보를 표현한다.
정보의 표현
- 컴퓨터는 2진법을 이용해서 어떻게 문자나 글자등을 어떻게 표현하는가?
문자
- 과거에 대문자 A를 65로 표현했다. (1000001)
- ASCII: 정보교환을 위한 미국 표준 코드, 알파벳과 문장부호를 숫자로 규정한다.
- ASCII는 미국중심이라 미국영어에 편중되어 있다.
- 유니코드: ASCII의 상위 집합, 32비트까지 사용한다. 다른 언어와 이모지도 표현 가능하다.
사진, 영상
- 사진은 작은 점으로 이루어져 있다. 컴퓨터는 각 점들을 RGB를 이용해 표현한다.
- 영상은 같은 파일에 저장된 여러장의 사진이다.
알고리즘
- 입력으로부터 출력을 어떻게 얻을 수 있을까? -> 알고리즘을 통해서
- 문제를 해결하는 단계적인 방법
스마트폰은 알파벳순으로 정렬된 이름에서 어떻게 이름을 검색할까?
- 한장씩 페이지를 넘겨가며 이름을 찾는다.(매우느림)
- 두장씩 페이지를 넘겨가며 찾는다. (2배 빠르지만 지나칠 수도 있다.)
- 적당히 중간을 펴서 이름 순서를 비교하고 반쪽을 버린다.(훨씬 빠름, 분할 정복)
어떤 알고리즘이 더 좋은지는 어떻게 알수 있는가?
- 문제의 크기, 문제 해결에 걸린시간
의사코드
알고리즘을 코드 형식으로 나타낸 구문
- 함수: 컴퓨터에게 뭘 할지 알려주는 동사
- 조건: 여러 선택지중 하나르 ㄹ고르는 것
- 불리언 표현: 예 or 아니오 질문
- 루프: 계속 반복하는 순환
출처: 부스트코스 모두의 컴퓨터과학
'CS' 카테고리의 다른 글
[모두의 컴퓨터과학] 메모리 (0) | 2021.11.17 |
---|---|
[모두의 컴퓨터과학] 알고리즘 (0) | 2021.11.15 |
[모두의 컴퓨터과학] 배열 (0) | 2021.11.14 |
[모두의 컴퓨터과학] C언어 기초 (0) | 2021.11.14 |