컴퓨터구조

2진수를 10진수로 변환하는 방법(진수 간 변환 방법들)

콘파냐 2014. 5. 2. 14:03


진법은 숫자의 자리수에 따라서 같은 수라도 가중치가 달라지는 방식입니다. 우리가 사용하는 10진수도 이 진법의 한종류입니다. 컴퓨터가 사용하는 2진수도 마찬가지구요.

보통 우리가 사용하는 10진수를 기준으로 진법들을 변환합니다. 10진수가아닌 다른 진수들의 변환 예를들어 3진수 - > 5진수 는 다음과 같은 식으로 변환 됩니다. 3진수->10진수->5진수

또, 우리가 컴퓨터공학을 공부하면서 많이 사용하는 진수간 변환 형태는 2^n진수 형태입니다. 이런 2^n형태는 일정한 규칙성이 있어서 규칙성을 알아두시면 편하게 진수변환을 할 수 있습니다.


진수 간 변환의 종류

x진수에서 10진수

10진수에서 x진수

2^n진수에서 2진수

2진수에서 2^n진수

x에서 y진수로



① 2진수에서 10진수로 변환하는 방법


각 자리수에 각 자리수의 가중치를  곱하는 방식입니다. 여기서 각 자리수의 가중치란 2^n(자리수-1)을 말합니다. 이 가중치는 10진수 표현방식이기 때문에 위 계산은 10진수로 나오게됩니다.


2진수 뿐아니라 3진수4진수....등 모든 x진수의 가중치는 x^n(자리수-1)이므로 위 식과 같은 방식으로 진수에 맞는 가중치를 각 자리수에 곱해주시면 10진수 표현을 구할 수 있습니다.



②10진수에서 2진수로 변환하는 방법

이 방법은 다음글을 참고하시면 됩니다.


2014/02/24 - [컴퓨터구조] - 10진수를 2진수로 변환하는 방법



③x진수를 y진수로 변환하는 방법

①과 ② 두가지 방법을 알면 x진수에서 y진수로 변환할 수 있습니다. x진수를 10진수로 바꾼후 10진수에서 원하는 진수로 바꾸는 방식입니다.


5진수를 2진수로 변환해 보기로 합시다.



10진수로 변환



2진수로변환

여기서 주의해야 할 점은 소수부분 처리입니다. 소수부분을  따로 계산해줘야 합니다. 위 링크 10진수를 2진수로 변환하는 방법 참조


110101000.01100110011001100110....... 입니다. 예제가 허접해서 무한 반복되는군요.



④2진수를 2^n진수로 변환

2진수,4진수8진수,16진수....등이 있습니다.


위 2진수를 4진수 8진수 16진수로 바꿔보겠습니다. 바꾸기 전에 기본적인 규칙을 설명해 드리겠습니다.

각 진수 간 가중치를 잘 살펴보세요. 4진수의 가중치는 2진수의 2자리를 합친 것에 해당합니다. 이 말은 2진수를 2자리씩 끊어서 생각하면 4진수의 한자리에 해당함을 알 수 있습니다. 같은 방법으로 8진수의 가중치는 2진수의 3자리의 가중치와 같음을 알 수 있고, 16진수는 4자리와 같습니다. 끊어 읽기를 잘하시면 2진수에서 2^n진수로 변환하는 방법은 쉽습니다.



1/2/3/1/1/1(4진수)




3/3/2/5(8진수)



⑤2^n진수에서 2진수로 변환 방법

이 경우는 두가지 방법이 있습니다. 

③번 방법으로 10진수로 변환한 후 2진수로 바꾸는 방법

2진수에서 2^n진수의 변환 방법의 반대 방향으로 한번에 변환하는 방법(④번 방법을 역으로 이용)

두 번째 방법이 익숙해지면 2^n 진법 간 변환을 쉽게 할 수 있습니다.

반응형