[etc] 2진수 계산법

유재민·2021년 10월 25일
0

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 가 되는 것이다.


출처 : 2진수 계산법

profile
프론트엔드 개발자

0개의 댓글