[모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 1) 2진법

2021. 10. 11. 20:12·CS: Computer Science/CS50 2019
728x90

 

boostcourse의

모두를 위한 컴퓨터 과학(CS50 2019) - David J. Malan (데이비드 J. 말란)

강의를 듣고 개인적으로 정리하여 올려봅니다. 
살다 살다 하버드대학 강의도 들어보네요;)

파이팅!


www.boostcourse.org/cs112


1. 컴퓨팅 사고 Computational Thinking, Scratch

1) 2진법

컴퓨터 과학

컴퓨터 과학은 문제 해결에 대한 학문

문제 해결은 입력(input)을 전달받아 출력(output)을 만들어내는 과정, 이 중간에 있는 과정이 바로 컴퓨터 과학.

 

이 컴퓨터과학의 첫 번째 개념, 표현 방법

바로 2진법이다. 

 

2진법

일상에서 사용하는 0,1,2,3,4,5,6,7,8,9 총 10개의 기호로 표현하는 것은 10진법.

컴퓨터에서는 오직 0과 1로만 데이터를 표현한다. 이것으로 글자, 사진, 영상, 소리 등을 저장할 수 있다.

두 개의 숫자만 있으므로 각 자릿수가 2의 거듭제곱을 의미.

 

ex) 101 은 2진법에서 5이다. 

2^2*1+2^1*0+1*1=5

 

컴퓨터에는 굉장히 많은 스위치(트랜지스터)가 있고 on/off 상태를 통해 0과 1을 표현한다. 

 

컴퓨터는 2진법에서 하나의 자릿수를 표현하는 단위를 비트(bit)라고 한다. 

 

비트(Bit)

정보를 저장하고 연산을 수행하기 위해 컴퓨터는 비트(Bit)라는 측정 단위를 쓴다. 
비트는 이진 숫자라는 뜻을 가진 'binary digit'의 줄임말, 0과 1의 두 가지 값만 가질 수 있는 측정 단위.

디지털 데이터를 여러 비트들로 나타냄으로써 두 가지 값만을 가지고도 많은 양의 정보를 저장할 수 있다. 또한 컴퓨터는 저장되어 있는 데이터를 수정하기 위해 비트에 수학적 연산을 수행할 수 있다. 

 

<bit>

0 은 OFF와 FALSE를 의미

1 은 ON과 TRUE를 의미 

 

비트 한 개는 많은 양의 데이터를 나타내기에 턱없이 부족하다. 그렇기 때문에 여러 숫자 조합을 컴퓨터에 나타내기 위해 비트열을 사용한다. 

 

바이트(Byte)

바이트는 여덟 개의 비트가 모여 만들어진 것. 하나의 바이트에 여덟 개의 비트가 있고, 비트 하나는 0과 1로 표현될 수 있다. 비트 하나는 0과 1로 표현될 수 있기 때문에 2^8=256개의 서로 다른 바이트가 존재할 수 있다. 바이트는 0에서 255까지 256개의 상태를 표현할 수 있다.

 

바이트가 모이면 더 큰 단위가 될 수 있다. 

 

1Byte = 8Bit

1KByte = 1024Byte

1MByte = 1024KByte

1GByte = 1024MByte

1TByte = 1024GByte

1PByte = 1024TByte

1EByte = 1024PByte

1ZByte = 1024EByte

1YByte = 1024ZByte

 

위 단위는 각각 바이트, 킬로바이트, 메가바이트, 기가바이트, 테라바이트, 페타바이트, 엑사바이트, 제타바이트, 요타바이트 등으로 명칭 되어 있다. 

저작자표시 (새창열림)

'CS: Computer Science > CS50 2019' 카테고리의 다른 글

[모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 4)5)스크래치  (2) 2021.10.14
[모두를 위한 컴퓨터 과학 CS50 2019] 1.컴퓨팅 사고 - 3)알고리즘  (0) 2021.10.14
[모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 2)정보의 표현  (12) 2021.10.11
'CS: Computer Science/CS50 2019' 카테고리의 다른 글
  • [모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 4)5)스크래치
  • [모두를 위한 컴퓨터 과학 CS50 2019] 1.컴퓨팅 사고 - 3)알고리즘
  • [모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 2)정보의 표현
ro117youshin
ro117youshin
코딩 / 외국어공부 (영어, 중국어) / 독서 등 자기계발을 기록합니다.
  • ro117youshin
    Taking an extra step
    ro117youshin
  • 전체
    오늘
    어제
    • 분류 전체보기 (153)
      • DDD (5)
      • JAVA (13)
      • Spring Boot (2)
      • Spring (4)
      • MySQL (1)
      • C (1)
      • Algorithm & Data Structure (34)
        • study (15)
        • programmers (0)
        • boj (18)
        • assignments (1)
      • CS: Computer Science (6)
        • CS50 2019 (4)
        • Network (2)
        • Database (0)
      • Git (3)
      • foreign language (16)
        • English (0)
        • Chinese (16)
      • BOOK (2)
      • ETC (2)
      • youtube.com|user|egoing2 (64)
        • WEB1 - HTML & Internet (5)
        • WEB2 - CSS (9)
        • WEB2 - JavaScript (18)
        • JavaScript Immutability (0)
        • DATABASE1 (4)
        • DATABASE2 MySQL (12)
        • JAVA1 (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    객체
    나의 앱 만들기
    BOJ
    variable
    중국어공부
    도메인 주도 설계
    baekjoon
    생활코딩
    자바
    Domain Driven Design
    js
    JAVA1
    코딩공부
    HSK6급공부
    mysql
    백준
    최범균
    ddd
    개발공부
    javascript
    HTML
    Java자료구조
    css
    Java
    알고리즘문제
    HSK6급
    DATABASE2
    HSK6급모의고사
    조건문
    HSK6급필수어휘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
ro117youshin
[모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 1) 2진법
상단으로

티스토리툴바