E D R , A S I H C RSS

16진법

Contents

1. 개요
2. 표현법
3. 사용처

1. 개요

Hexadecimal.

컴퓨터 분야에서 숫자를 표현하기 위해 사용하는 진법 방식. 외국에서는 줄여서 Hex라고도 부른다. 바꿔말하면, 컴퓨터 분야의 종사자 이외의 사람들은 별로 볼 일이 없는 표현방식이다. HEX 에디터를 이용하여 세이브 파일들을 좀 건드려본 사람들은 익숙할지도 모르겠다. 90년대, 프린세스 메이커 2가 한참 유행할 때에는 dd와 함께 세이브 파일 조작 안 해본 사람이 없을 정도. 야구팬 중에도 알게 모르게 접한 사람이 꽤 있는데, 삼성 라이온즈의 별명 중 하나인 B성의 B는 11의 16진법 표기이다. 삼성이 한이닝 11실점을 할때 구형 전광판이 이닝별 득점을 한자리수로만 표기할 수 있기에 16진법을 써서 표기한 것.

2. 표현법

자릿수 하나가 0부터 15까지 표현할 수 있다. 하지만 우리가 흔히 사용하는 숫자는 0부터 9까지 밖에 없기 때문에 나머지 10은 A, 11은 B, 12는 C, 13은 D, 14는 E, 15는 F로 표현한다. 따라서 12는 16진수로 C가 되는거고, 16은 16진수로 10이 되는 형태이다. 참고로 외국의 경우 숫자 2와, 알파벳 E를 읽는 방식이 다르지만 국내의 경우에는 둘 다 똑같이 읽기 때문에[1] 2는 "둘"로 읽으라고 가르치고 있지만, 10진법에 워낙 익숙하다 보니 2를 봐도 절대 "둘"이란 말이 먼저 튀어나오지 않는다(…).[2] 다만 2는 평소대로 '이', E는 글자 자체에 악센트를 줘서 '이↗이↘' 라고 읽는 경우가 많기 때문에 듣기만 하고 구분하는데 큰 문제가 있을 정도는 아니다. 2의 2승, 2의 e승, e의 2승, e의 e승 혹은 (ㆀㅣ)로 읽거나.[3]

숫자 뒤에 (16)이란 기호를 붙이거나 아래첨자로 16 또는 hex라고 기재하는 방식이다. 그 외에 0x10 식으로 표기하는 경우도 있는데, 이건 프로그래밍 언어 쪽에서 16진수를 표현하는 방식이다.

20진법도 아니고 10진법도 아닌 어중간한 16진법을 컴퓨터 분야에서 사용하는 이유는 16진수 자릿수 하나가 24을 표현할 수 있기 때문이다. 전자기기, 특히 컴퓨터에서 사용하는 이유는 자릿수 2개를 사용하면 28을 표현할 수 있는데, 28은 곧 1바이트이다. 간단히 1바이트의 값을 2진법을 사용해서 0101 1111 식으로 표기할게 아니라 그냥 16진법으로 5F라고 표기해버리면 많이 축약시킬 수 있다. 게다가 훈련이 된 상황이라면 16진법의 숫자만 보고도 바로 2진법 수로 변환이 가능하기 때문에 상당한 유용한 표현 방법이다.

  • 16진법을 2진법으로 바로 변환할려면 각자릿수를 2진법으로 변환하면 된다.
    예를들면 25FB16를 0010(2) 0101(5) 1111(F) 1011(B) 처럼 끊어서 변환한다음 전부 붙여주고 앞의 00을 떼준뒤 100101111110112 로 적으면 된다.

  • 반대로 2진법을 16진법으로 바로 변환할려면 1의자리에서부터 4개씩 끊어서 16진법으로 변환해주면된다.
    101110101010101010111101000102 를 (000)1 0111 0101 0101 0101 0111 1010 0010 로 끊어주고 각각 변환하면 175557A216 이 된다.

참 쉽죠?

3. 사용처

예전 게임 중에는 능력치의 한계가 255나 65535인 게임이 많았다. 이런 숫자가 한계치가 된 이유는 각각 16진법으로 두자리, 네자리수 최대수인 FF, FFFF이기 때문이다. 위에서도 언급한 HEX 에디터는 바로 2진법을 사용하여 기록된 데이터들을 보기 편하게 16진법으로 보여주는 형태이다. 16진법으로 표현된 데이터를 보기 위해서는 Hex 기능이 제공되는 별도의 편집 프로그램이 필요하다. 보통 EditPlus나 UltraEdit과 같이 프로그램 코드를 작성할 때 사용되는 프로그램에서 제공하는 경우가 대부분이다.

윈도우즈 기본제공 계산기에도 16진수↔10진수 변환기능이 있다. XP 이전의 옛 계산기에는 공학용 기능에 통합되어 있지만 비스타 이후 계산기부터는 프로그래머용 계산기로 따로 분화되어 나왔다.

HTML에서 색상을 표현할 때도 쓴다. HTML 코드나 CSS 코드를 잘 보면 "color:#126A8B"[4] 같은 6자리수의 16진수가 나오는 것을 볼 수 있다. 순서대로 두 자리씩 끊어서 빛의 삼원색인 Red, Green, Blue의 밝기를 각각 256단계로 지정하는 방식이다. HTML 초창기부터 나온 표현법인데, 요즘은 다른 표기법도 많아져서 예전처럼 독보적으로 쓰이지는 않는다.
----
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2015-04-11 14:22:11
Processing time 0.0214 sec