모두를 위한 컴퓨터 과학 (CS50) 1.1 - 2진법

yesolog·2024년 2월 29일

CS50

목록 보기
1/3

✅ 컴퓨터 과학은 문제를 해결하는 과정이다.

input과 output 사이에서 문제를 해결하는 것 그것이 바로 CS인데 이것을 표현하는 언어가 바로 2진법(binary)이다.

1. 우리는 0부터 9까지 10개의 숫자를 사용하여 10진법으로 세상을 바라본다.

하지만 컴퓨터는 0과 1 두개의 숫자를 사용하여 숫자뿐만 아니라 영상, 사진 등 많은 것을 저장한다.

우리의 세상에서 바라본 123은 10^22+ 10^12+10^0*3이다. 10의 거듭제곱으로 모든것을 나타낸다.

2. 컴퓨터는 0과 1 두가지 숫자를 사용하여 2진법으로 세상을 바라본다.

컴퓨터의 세상은 2의 거듭제곱으로 모든것을 나타낸다. 2진법에서의 000은 0을 의미한다. 이것은 2^20+2^10+2^0*0이다.

만약 1을 표현하고 싶다면 10으로 3을 표현하고 싶다면 11으로, 4를 표현하고 싶다면 100으로 표현하면 된다.

비트와 바이트란 다음의 개념을 의미한다.

  • bit(비트): 숫자 이진, 0 또는 1을 의미

  • byte(바이트): 8개로 구성된 0과 1

3. 2진법으로 숫자 나타내기

위의 예시는 50이라는 숫자와 13이라는 숫자를 2진법으로 바꾸는 과정을 손으로 적어본 것이다.

바이트는 8개로 구성된 0과 1이라고 했는데 각 자리는 다음의 숫자를 의미한다.

128 / 64 / 36 / 16 / 8 / 4 / 2 / 1

각 자리를 전구라고하고 앞으로 해당되는 위치에는 스위치를 킨다고 가정해보자.

50은 32와 16, 2로 구성된다. 따라서 2^5, 2^4, 2^1 위치에 스위치를 킨다.
그렇게되면 00110010이 된다.

13은 8과 4와 1의 조합이다. 이는 2^3, 2^2, 2^0 위치에 스위치를 키는것이다.
00001101이 된다.

✅ 필기

출처: 모두를 위한 컴퓨터 과학 (CS50 2019)

0개의 댓글