진법간의 변환 방법 : 이진법, 10진법, 16진법
본문 바로가기
컴퓨터공학

진법간의 변환 방법 : 이진법, 10진법, 16진법

by 데이젤리 2022. 8. 4.
반응형

컴퓨터는 모든 정보를 디지털 형식으로 표현하고 처리합니다. 

이때 컴퓨터는 이진법, 즉 0과 1이라는 두 가지의 상태로 모든 정보를 표현합니다. 

 

이번 포스팅에서는 이진법과 다른 진법에 대해 알아보고 진법 간의 변환에 대해 알아보도록 하겠습니다. 

 

 

 

 


 

<목차>

 

1. 정보를 나타내는 단위

2. 이진법이란?

3. 10진법이란?

4. 16진법이란?

5. 2진법과 10진법

6. 2진법과 16진법

 


 

 

1. 정보를 나타내는 단위

 

컴퓨터가 정보를 표현할 때 사용하는 0과 1과 같은 가장 작은 정보를 나타내는 단위를 비트(Bit)라고 합니다. 

이는 하나의 비트가 0 또는 1의 정보를 가지고 있음을 나타냅니다. 

 

비트는 8개가 모여 하나의 바이트(Byte)를 구성합니다. 

 

워드(Word)의 크기는 컴퓨터에 따라서 달라집니다. 

한 워드가 2바이트(= 16비트)가 될 수도 있으며, 한 워드가 4바이트(= 32비트)가 될 수도 있습니다. 

 

한 바이트가 8비트로 구성되는 이유는 컴퓨터가 이진법을 기반으로 하고 있기 때문입니다. 

또 영어 한 글자를 표현할 때 ASCII 코드 방식으로 8비트가 요구되기 때문입니다. 

 

비트(Bit) : 가장 작은 정보를 나타내는 단위

바이트(Byte) : 1바이트 = 8비트

워드(Word) : 컴퓨터에 따라 그 크기가 달라짐

 

 

2. 이진법이란?

 

컴퓨터는 모든 정보를 이진법으로 표현합니다. 

 

이진법은 0과 1이라는 두 가지의 상태에 기반하고 있습니다.

컴퓨터는 숫자, 문자, 이미지, 사운드, 동영상 등 모두 이진법으로 표현합니다. 

 

이진법은 "on", "off"나 "True", "False"처럼 두 가지의 상태를 의미합니다. 

이는 '켜다(on)'와 '끈다(off)' 사이에 조금 켜짐과 같이 중간 상태는 존재하지 않는다는 것을 의미합니다. 

 

이진법에서는 두 가지 상태를 0과 1로 나타냅니다. 

예를 들어 숫자 17을 이진법으로 표현하면 "10001"과 같이 표현할 수 있습니다. 

 

이외에도 다양한 이진법으로 표현된 패턴이 있습니다. 

이 패턴들은 어떠한 유형의 정보를 나타냅니다. 

 

패턴들이 의미하는 정보는 패턴을 해석하는 방법에 따라서 달라질 수 있습니다. 

 

이진법 이외에도 8진법, 10진법, 16진법 등 다양한 진법들이 존재합니다.

 

3. 10진법이란?

 

우리는 모두 10진법에 익숙합니다. 

10진법은 우리가 평소에 읽고 쓰는 0부터 9까지의 10개의 숫자가 이에 해당합니다. 

 

0부터 9까지 10개의 숫자는 4세기경 고대 이집트 문명과 인도에서 시작되었습니다. 

사람의 손가락이 10개이므로 10진법은 자연스레 사용하는 방법이 되었을 것이라고 합니다.  

 

10진법은 현재 세계에서 가장 널리 사용되고 있는 진법입니다. 

미터, 킬로미터 등 많은 단위가 10진법에서 탄생하였습니다.

 

 

4. 16진법이란?

16진법은 16을 밑으로 하는 기수법을 말합니다.

보통 0부터 9까지의 숫자와 A에서 F까지의 로마자 알파벳(로마 문자)을 사용합니다.

이때 대소문자는 구별하지 않고 사용합니다.

 

16진법의 수를 표현하면 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 십, 십일, 십이, 십삼, 십사, 십오입니다. 

위에서 16진수를 표현할 때 A부터 F까지를 사용한다고 하였습니다. 

 

10부터 16은 두 자릿수로 표현하는 것이 아닌 A부터 F까지를 사용합니다.

 

16진법의 수는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f로 표현할 수 있습니다. 

 

 

5. 이진법과 10진법

 

10진법 숫자 10이 16진법으로는 A이고, 이진법으로는 1010인 것처럼 진법 간에는 상호 변환이 가능합니다. 

 

이진법의 수를 10진법으로 변환하는 과정을 알아보겠습니다. 

 

먼저 이진법 패턴 '101001'을 10진법으로 변환해보겠습니다.

 

<방법>은 아래와 같습니다.

  • 패턴의 가장 오른쪽부터 2^0, 2^1, 2^2, 2^3, 2^4, 2^5와 그에 해당하는 0과 1을 곱해준 값을 모두 더해주면 됩니다. 

 

1이 있는 자리만 구해 더하는 방법을 사용하였습니다. 

 

'101001'2^5인 32*1 + 2^3인 8*1 + 2^0인 1*1을 계산하여주면 41이라는 십진법의 수를 구할 수 있습니다. 

 

이진법의 수를 10진법의 수로 변환하는 방법은 간단하지만 반대의 경우는 조금 복잡할 수 있습니다.

 

<방법>은 이렇습니다. 

  1. 이진법의 수로 변환할 10진법의 수를 2로 나누었을 때 나누어떨어진다면 가장 뒷자리에 0을 적고 수를 반으로 나누어줍니다. 
  2. 만약 나누어떨어지지 않는다면 가장 뒷자리에 1을 적고 1을 뺀 나머지 값을 2로 나누어줍니다.
  3. 나누어준 값을 가지고 1과2의 과정을 반복하여 줍니다. 
  4. 1이 남았다면 마지막으로 가장 앞자리는 1을 적어주며 마무리합니다. 

 

글로만 보면 어려워 보이기에 예시를 들어보겠습니다. 

 

위의 예시와 동일하게 10진법의 수 41을 이진법으로 변환해 보겠습니다.

 

먼저 41은 2로 나누어떨어지지 않기 때문에 가장 뒷자리는 '1'입니다. 

41에서 1을 빼면 40, 이를 2로 나누면 20입니다. 

 

20은 2로 나누어떨어지기 때문'01'이 됩니다. 

20을 2로 나누면 10입니다. 

 

10나누어떨어지기에 '001'이 됩니다. 

10을 2로 나누면 5가 됩니다. 

 

52로 나누어떨어지지 않기에 '1001'이 됩니다. 

5에서 1을 빼면 4, 4를 2로 나누면 2입니다.

 

22로 나누어떨어지기에 '01001'이 됩니다. 

2를 2로 나누면 1입니다. 

 

1이 남았기에 가장 앞자리에 1을 적어주면 '101001'이 됩니다. 

 

이진법의 패턴 '101001'을 10진법의 수 41로 변환하는 방법과 10진법의 수 41을 이진법의 패턴 '101001'로 변환하는 방법을 알아보았습니다.

 

조금 복잡해 보이지만 막상 따라 해 보면 큰 어려움은 없을 것입니다. 

 

 

6. 이진법과 16진법

 

이번에는 이진법을 16진법으로 변환하는 방법을 알아볼 것입니다.

10진법의 수를 이진법의 수로 바꾸는 방법은 조금 복잡했지만, 이진법을 16진법으로 변환하는 방법은 매우 간단합니다. 

 

먼저 2진법에서 16진법으로 변환하는 방법을 알아보겠습니다.

잎에서 보았던 '101001'로 알아보겠습니다. 

 

1. 오른쪽에서부터 네 자리씩 끊어 줍니다. 

'0010'과'1001'로 나눌 수 있습니다. 

 

2. 4자리를 십진법으로 바꿔줍니다.

'0010'은 2^1 = 2입니다. 

다음으로 '1001'은 2^3 + 2^0 = 9입니다. 

 

3. 십진법의 수를 16진법으로 바꿔줍니다. 

2와 9는 바꾸어줄 필요가 없으니 생략합니다. 

2진법으로는 '101001', 십진법의 수로는 41, 16진법으로는 29로 표현되는 것을 볼 수 있습니다. 

 

이번에는 다른 예시로 한 번 더 알아보겠습니다. 

비트 패턴 '1100101'을 16진법으로 나타내 변환해보겠습니다. 

 

오른쪽에서부터 네 자리씩 끊어주면 '0110'과 '0101'이 됩니다. 

4자리씩 나눠준 패턴을 10진법으로 먼저 변환시켜보겠습니다. 

 

'0110'은 2^2 + 2^1 = 4+2 = 6입니다. 

다음으로 '0101'은 2^2 + 2^0 = 4 +1 = 5입니다. 

 

10진법을 16진법으로 바꿨을 때도 6과 5는 변함없이 65이므로 '1100101'을 16진법으로 변환하였을 때 65가 되는 것을 알 수 있습니다. 

 

16진법을 2진법으로 변환하는 방법은 앞의 방법을 거꾸로 하면 됩니다. 

16진법의 수 2B를 2진법으로 변환해보겠습니다. 

 

1.16진법을 10진법으로 변환해줍니다. 

B를 10진법으로 변환하면 11입니다. 

 

2. 10진법으로 바꾼 수를 2진법 패턴으로 변환해줍니다. 

2와 11을 2진법으로 변환하면 '0010'과 '1011'입니다.

 

이에 대한 방법은 다른 파트에서 다루었기에 넘어가도록 하겠습니다. 

 

3. 순서대로 네자리씩 나누어진 것을 붙여줍니다. 

4자리를 붙여서 표현하면 16진법 2B는 2진법으로 '101011'이 되는 것을 볼 수 있습니다. 

 

 

반응형

댓글