# 2진수 계산법

2진수는 0 과 1로만 표현하는 숫자이다.

십진수 33을 2진수로 만들어 본다.

2 | 33

2 | 16 ...1

2 | 8 ....0

2 | 4 ....0

2 | 2 ....0

1 ....0

밑에서 부터 역순으로 적는다. "100001" 이게 2진수 33이 된다.

큰 수의 경우 100001을 10진수로 바꿀려면 1x2^5 + 0x2^4 + 0x2^3 + 0x2^2 + 0x2^1 +1x2^0 하면 된다.

여기서 요령이 발생! 우선은 2진수 계산을 하기전에 종이에 이렇게 적어놓고 시작한다.

2^2=4

2^3=8

2^4=16

2^5=32

2^6=64

2^7=1282^8=256

200을 2진수로 바꾼다면

ⓐ 200은 2^8 보단 작기 때문에 200에서 2^7을 뺀다.

200-128=72

ⓑ 72는 2^7 보단 작고 2^6보단 크기 때문에 72에서 2^6을 뺀다. 72-64=8

ⓒ 8은 2^3 이며 나머지가 없으므로 여기서 계산은 종료

ⓓ 자 그럼 여기까지 정밀계산을 하고 오면서 나온 결과물들을 모은다.

ⓔ ⓐ에서 2^7을, ⓑ에서 2^6을, ⓒ에선 2^3

ⓕ 2^7 + 2^6 + 2^3 ===> 1x2^7 + 1x2^6 + 0x2^5 + 0x2^4 + 1x2^3 + 0x2^2 + 0x2^1 + 0x2^0 이렇게 표현한다.

정리하면 10진수 200은 2진수 11001000 이 된다.

IP Address 123.154.200.145는 컴퓨터가 알아듣는 2진수를 사람이 보기쉽고 알기쉬운 10진수로 바꿔서 표현한 것이다.

IP Address 123.154.200.145는 사실 01111011.10011010.11001000.10010001 가 되는 것이다.