
input과 output 사이에서 문제를 해결하는 것 그것이 바로 CS인데 이것을 표현하는 언어가 바로 2진법(binary)이다.
하지만 컴퓨터는 0과 1 두개의 숫자를 사용하여 숫자뿐만 아니라 영상, 사진 등 많은 것을 저장한다.
우리의 세상에서 바라본 123은 10^22+ 10^12+10^0*3이다. 10의 거듭제곱으로 모든것을 나타낸다.
컴퓨터의 세상은 2의 거듭제곱으로 모든것을 나타낸다. 2진법에서의 000은 0을 의미한다. 이것은 2^20+2^10+2^0*0이다.
만약 1을 표현하고 싶다면 10으로 3을 표현하고 싶다면 11으로, 4를 표현하고 싶다면 100으로 표현하면 된다.
비트와 바이트란 다음의 개념을 의미한다.
bit(비트): 숫자 이진, 0 또는 1을 의미
byte(바이트): 8개로 구성된 0과 1

위의 예시는 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이 된다.
