Search
Duplicate

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