[CS50] 컴퓨팅 사고 1(2진법, 정보의 표현)

choimarmot·2024년 1월 21일
0

[CS50] 컴퓨터 과학

목록 보기
1/8
post-thumbnail

컴퓨터 과학 CS50


데이비드 말란 : 처음 시작할 때의 나와 비교하여 얼마나 성장했는지가 중요하다.

컴퓨터 과학이란 ?

문제를 해결하는 과정 / 입력(input)이 있을 때 출력(output)을 찾는 것


정보의 표현 방법

컴퓨터는 2진법으로 말한다.

2진법

10진법 : 123 → 100x1 + 10x2 + 1x3

2진법의 표기 방식네 번째 자리세 번째 자리두 번째 자리첫 번째 자리
10진법1000100101
2진법8(2*3)4(2*2)2(2*1)1

2 → 010, 3 → 011, 4 → 100

비트(bit)

  • 이진 숫자라는 뜻을 가진 “binary digit”의 줄임말
  • 2진법에서 하나의 자리수를 비트라고 표현
  • 0, 1 두가지 값만 가질 수 있는 측정 단위

바이트(byte)

  • 8비트, 8개의 1과 0을 의미하는 단위
  • 하나의 비트는 0, 1 두가지 값만 저장할 수 있다 [예시 : 스위치 켜기 = 1(true) / 끄기 = 0(false)]
  • 바이트가 모이면 더 큰 단위가 된다.[킬로바이트 → 1000바이트, 메가바이트 → 1000킬로바이트)

문자 표현

ASCII : 정보 교환을 위한 미국 표준 코드 / 8비트만 사용

ABCDEFG
65666768697071

유니코드(Unicode) : ASCII의 상위 집합 / 더 많은 비트 사용으로 다양한 패턴 표현

  • 이모티콘도 포함되어 있음 / 😂 → 128514[11111011000000010]

그림, 영상 표현(RGB)

RGB(Red, Green, Blue) : 그림을 표현하는 체계

  • 점으로 이루어져있다.
  • 세가지 색을 얼마나 사용할지를 정해서 그 값을 해석해서 표현

알고리즘

알고리즘 : 문제를 해결하는 단계적 방법
입력(input)에서 출력(output)으로 가는 과정


알고리즘의 과정에서 정확성도 중요하지만 효율성도 중요하다.

예시 : 만약 전화번호부에서 'Mike Smith'를 찾는다면 한장씩 넘기면서 찾는 방법보다 가운데를 펼친 후에 그 페이지에 'Mike Smith'가 있다면 알고리즘은 끝난다.
만약 없다면 이름 순으로 앞에 있는지 뒤에 있는지를 알 수 있기 때문에 이 방법을 이용해서 찾는다면 한 장씩 넘기는 방식보다 효율적으로 'Mike Smith'를 찾을 수 있다.

의사코드란?

  • 생각을 간결하게 정리한 코드와 비슷한 구문
  • 절차적 프로그래밍이라는 특정한 건설법 존재


함수 : 무엇을 할지 알려준다.

조건

불리언 : 답이 무조건 예, 아니오 / True, False / 0, 1 로 나오는 질문

루프 : 반복되는 것

profile
프론트엔드 개발 일기

0개의 댓글