Search
moon
sun

원리를 알면 까먹지 않을 10진법을 2진법으로 변환하는 방법

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
CS
Scrap
태그
cs
9 more properties

🖥 컴퓨터는 왜 2진법을 사용할까?

컴퓨터의 기본 단위는 비트이다. 비트는 2가지 표현만 할 수 있는 네모 박스라고 생각하면 쉽다. 비트가 이런 특성을 가지고 있기 때문에 컴퓨터는 2진법을 사용하며 0과 1로만 모든 것을 표현한다.
컴퓨터는 우리가 10진법으로 준 수를 2진법으로 변환해서 이해한다. 그렇기 때문에 2진수에 대한 이해가 있으면 컴퓨터가 우리의 언어를 어떻게 받아들이는지 이해하기 쉬워질 것이다.

🌟 2진수는 2를 밑으로 하는 수이다.

당연한 소리처럼 들리지만 가장 중요한 핵심이다! 2를 밑으로 하는 수라는 것을 정확하게 이해하면 2진법을 10진법으로 변환하는 법은 까먹기가 더 어렵다.
10진수는 10을 밑으로 하는 수이다. 예를 들어 설명해 보면 1,234라는 수가 있다. 1234를 10진법으로 표현하면
(1 × 10³) + (2 × 10²) + (1 × 10¹) + (4 × 10⁰) 
로 표현할 수 있다.
2진수도 마찬가지이다. 1234를 2진수로 변환하면 10011010010이다. 이 수는
(1 × 2¹⁰) + (0 × 2⁹) + (0 × 2⁸) + (1 × 2⁷) + (1 × 2⁶) + (0 × 2⁵) + (1 × 2⁴) + (0 × 2³) + (0 × 2²) + (1 × 2) + (0 × 2⁰) 
로 표현할 수 있다. 즉 11자리 2진수이며 컴퓨터 상에서는 11비트의 수라고 말할 수 있다.

🛠 10진수를 2진수로 변환하는 계산법

10진수를 2진수로 계산하는 공식 같은 방법이 있다. 이 공식을 그냥 외우면 금방 잊어버리니 원리를 먼저 알아보겠다.
예를 들어 123이라는 수를 2진수로 변환해 보도록 하자.
먼저 가장 가까운 2의 n 제곱을 찾아야한다 → 2⁶이 64로 가장 가깝다 → 123에서 64를 빼준다 → 그럼 59가 남는다 → 또 59에 가장 가까운 수를 찾는다 → 2⁵이 32로 가장 가깝다 → 59 - 32를 해주면 27이 남는다.
이런 식으로 반복하면 27 - 2⁴ = 11 , 11 - 2³ = 3, 3 - 2¹ = 1 의 과정을 거치게 된다.
결과적으로 2의 n제곱 중 가장 큰 n이 6이기 때문에 123은 2진수로 7자리 숫자이다. 사용된 지수의 자리는 1, 사용되지 않은 지수의 자리는 0으로 표시해 줄 수 있고 123은 2진수로 1111011이 된다. 아래 그림을 보면 좀 더 쉽게 이해할 수 있을 것이다.

🔮 공식

변환하려는 수를 2로 나눌 수 있을 때까지 나누고 마지막 몫을 먼저 적고 나머지들을 역순으로 적어주면 간단하게 변환이 가능하다! 위 원리를 이해했다면 앞으로 공식을 잊어버리지 않고 사용할 수 있을 것이다