수의 표현 진수와 진법 그리고 변환 - 2진수 10진수 16진수

컴퓨터/컴퓨터 공학 기초

728x90
반응형

 

먼저 보면 좋은 것
더보기

 

진수? 진법? 

과거부터 수를 표현하기 위해 다양한 방법을 많이 사용하였습니다. 그리고 오늘날 인간 사용하는 숫자의 표현은 보통 10~9까지를 자릿수로 가지는 숫자의 언어, 즉 10진수를 사용하고 있습니다. 그러한 숫자를 셈을 하는 방법을 진수라고 하며 셈을 하고 표기하는 방법으로 진법이라는 말을 많이 쓰고 있습니다. 

하지만 그 외에도 5진수, 2진수 8진수, 16 진수 등 숫자를 표현하는 다양한 방법들이 많이 있습니다.  결국 이런 진수들은 수의 자릿수가 올라가는 단위를 기준으로 하는 셈법입니다.

컴퓨터는 2진수 체계를 이용하고 인간은 10진수 체계를 이용합니다. 사실상 인간과 컴퓨터에는 수를 표기하고 알아듣는 데에 있어서 엄청나게 큰 언어의 장벽이 존재하고 있는 것이죠. 그래서 이러한 언어의 장벽을 뚫기 위해 2진수를 정복하거나, 2진수를 10진수로 번역을 하는 능력을 가져야만 컴퓨터와 조금 더 원활한 소통이 가능할 것입니다.

 

2진수 10진수 16진수

컴퓨터 공학에서 수를 표현하는 대표적인 3가지 진수입니다. 간략하게 말하자면 인간과 가장 친숙한 10진수 그리고 컴퓨터와 가장 친숙한 2진수 마지막으로 2진수와 비슷하지만 인간이 조금 더 보기 쉬운 16진수가 있습니다. 그렇다면 진수 별 특징에 대하여 정리해 보도록 하겠습니다.

 

진수 표현 범위 자리수당 경우의 수
2진수 0 ~ 1 2^n 
10진수 0 ~ 9 10^n
16진수 0 ~ F ( A:10 ~ F:15) 16^n (2^4)

 

왜 16진수가 인간이 조금 더 보기 쉬운 진수인가?

정보의 최소단위 Bit는 2^1입니다.

그리고 정보처리의 최소 단위 Byte는 2^8입니다.

즉 1Byte만 하더라도 8자리의 2진수가 있어야 된다는 것입니다. 인간이 2진수를 완벽하게 읽을 수 있다 해도 8자리를 읽는 데는 상당한 시간이 소요가 될 것입니다. 만약 4Byte의 정보를 2진수로 표기한다면 인간이 그 2진수가 몇인지 알기 위해서는 쉽지 않을 것입니다.

그래서 16진수 표기가 등장하게 됐습니다.

16진수의 한자리는 16^1 즉 2^4입니다.

2자리의 16진수로 1Byte를 표현할 수 있다는 말입니다.

 

예시 

자 그러면 1Byte안에 10진수 0과 100을 표현했을 때를 한번 보도록 하겠습니다.

 

 

  •  10진수 0의 경우
크기 10진법 2진법 16진법
1Byte 0 00000000 00

 

  • 10진수 100의 경우
크기 10진법 2진법 16진법
1Byte 100 01100100 64

 

그렇다면 16진법의 64를 2진법으로 표현해 보겠습니다.

 

64 - 0110 0100 

64 - 0110 0100 

16진수의 한자리수는 4Bit와 동일하다 (16^1 = 2^4)

 

즉 4Bit씩 끊어서 표기를 할 수 있습니다. 2^4 즉 16가지의 경우의 수를 보는 것은 조금만 익숙해지면 엄청 어렵지는 않습니다. 더 나아가자면 컴퓨터가 어떠한 결과를 처리한 2진수의 날것을 인간에게 보여준다면 크기가 어느 정도인지 보는 것도 쉽지 않을 것입니다. 하지만 4Bit씩 16진수로 변환해서 보여준다면 조금은 더 수월할 것입니다.

 

결국 우리가 컴퓨터에 10진수 100이라는 입력을 한다면 어떠한 규칙에 의해 2진수로 바뀌는 것이고 이러한 컴퓨터가 처리한 날것의 2진수를 보고 싶을 때 쉽게 보기 위해 16진수를 사용하는 것입니다.

 

알아야 되는 이유

사실 일반적으로 이미 컴퓨터 내부에 어떠한 프로그램들에 의해 사용자들은 알아서 변환되고 인간들이 알아보기 쉽게 변환이 됩니다. 

하지만 컴퓨터 공학, 정보통신, 정보처리 등 컴퓨터를 이용을 한다면, 컴퓨터와의 의사소통이 필요합니다. 이러한 의사소통을 잘하려면 이러한 진수들의 체계와 변환이 원활해야만 조금 더 컴퓨터와 좀 더 원활한 의사소통을 할 수 있을 것입니다.

 

요약

  • 다양한 진수,진법이 있다 그 중 16진수는 2진수 체계를 조금더 이해하기 원할하게 해준다
  • 16진수의 한 자리수는 4Bit를 표현할수 있으며 결과적으로 1Byte는 2자리의 16진수로 표현이 가능하다.
728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :