
16진법
최근 수정 시각:
16진수에서 넘어옴
분류
| |||||||||||||||||
컴퓨터에서 16진법을 사용하는 이유는 이진법으로 표기된 8자리의 1바이트 값을 16진법 단 2자리 문자 만으로 표현할 수 있기 때문이다.
예를 들어 1바이트의 값이 2진법으로
예를 들어 1바이트의 값이 2진법으로
0101 1111 라면 16진법으로 5F로 표기하면 그만이다. 가독성은 물론 표시 공간도 훨씬 줄어들고 16진법 숫자를 읽는데에 익숙해지면 바로바로 알아보는 것도 가능해진다.- 16진법을 2진법으로 바로 변환하려면 각 자릿수를 2진법으로 변환하면 된다. 예를 들면
25FB16를00102(=216),01012(=516),11112(=F16),10112(=B16)처럼 끊어서 변환한 다음 전부 붙여서 {{10 0101 1111 1011}}2로 적으면 된다. - 반대로, 2진법을 16진법으로 바로 변환하려면 일의 자리에서부터 4개씩 끊어서 16진법으로 변환해주면 된다.
101110101010101010111101000102를(000)1 0111 0101 0101 0101 0111 1010 0010_2로 끊어주고 각각 변환하면175557A216이 된다.
자릿수 하나가 0~15를 표현할 수 있다. 하지만 우리가 흔히 사용하는 아라비아 숫자는 0부터 9까지 밖에 없기 때문에 10은 A, 11은 B, 12는 C, 13은 D, 14는 E, 15는 F로 로마자를 사용해 표현한다. 따라서
일반적으로 n진수를 표기하는 방법은 수 뒤에 아래첨자로 n을 적는 것이지만, 16진법은 굉장히 흔히 쓰여서 그런지 다른 표기법도 많이 통용된다. 수 뒤에 (16)이란 기호를 붙이거나 아래첨자로 hex라고 기재하는 방식을 사용하기도 한다. 그 외에 접두어
12는 16진수로 C16가 되고, 15는 16진수로 F16가 되고, 그 다음인 16은 16진수로 1016이 된다. 즉, 1116은 16진수로 16+1이므로 10진수로는 17이 된다.일반적으로 n진수를 표기하는 방법은 수 뒤에 아래첨자로 n을 적는 것이지만, 16진법은 굉장히 흔히 쓰여서 그런지 다른 표기법도 많이 통용된다. 수 뒤에 (16)이란 기호를 붙이거나 아래첨자로 hex라고 기재하는 방식을 사용하기도 한다. 그 외에 접두어
0x를 붙여서 0x10처럼 표기하는 경우도 있는데, 이건 프로그래밍 언어 쪽에서 16진수 상수(리터럴)를 표현하는 방식이다.[1] 이외에도 $10, 10h와 같이 표기하기도 한다. 암호화폐 제로엑스(0x)가 여기서 따와서 지은 이름이다.16진법 체계에서는 2와 E가 모두 사용되는데, E를 성문파열음으로 넣어야 하는데 넣지 않는 사람이 있어 2E와 E2등이 구별되지 않는 경우가 있어 구분이 안되는 경우가 있다.
해결책은 여러 가지가 있다. 2는 "이", "투"(영어), "둘"(포병 숫자), "숫자 이" 중 하나로 읽고, E는 "이", "ᅙᅵ"(성문 파열음), "에코"(포네틱 코드), "알파벳 이" 중 하나로 읽으면 된다. 어떤 방식을 택하든 말하는 사람이 번거롭거나 듣는 사람이 번거로운 건 어쩔 수 없다. 2와 E가 겹칠 경우 하나는 포병 숫자(둘), 하나는 포네틱 코드(에코)로 읽으면 절대 헷갈릴 일이 없고, 한국군과 학계에서도 공식적으로 사용하는 표현이라 가장 권장된다. 참고로 알파벳은 6개 모두 포네틱 코드(알파, 브라보, 찰리, 델타, 에코, 폭스트롯(폭스))로 읽는 것이 가장 격식있는 표현이다.
단, 동남 방언을 구사하는 사람들은 알파벳 E를 발음할 때성문 파열음 (ʔ)을 넣어 발음하는 경우가 더 많으므로[2] 구분이 잘 된다. 비단 E뿐만 아니라 모음으로 시작하는 영어 알파벳[3]을 발음할 때는 모두 성문 파열음이 들어간다. 사실, 영어를 모국어로 구사하는 현지인들에게 해당 알파벳들을 읽어보라고 하면 아주 자연스레 성문 파열음이 들어간다. 대한민국에서는 이상하게도 일부 알파벳을 읽을 때 성문 파열음이 사라진다.
해결책은 여러 가지가 있다. 2는 "이", "투"(영어), "둘"(포병 숫자), "숫자 이" 중 하나로 읽고, E는 "이", "ᅙᅵ"(성문 파열음), "에코"(포네틱 코드), "알파벳 이" 중 하나로 읽으면 된다. 어떤 방식을 택하든 말하는 사람이 번거롭거나 듣는 사람이 번거로운 건 어쩔 수 없다. 2와 E가 겹칠 경우 하나는 포병 숫자(둘), 하나는 포네틱 코드(에코)로 읽으면 절대 헷갈릴 일이 없고, 한국군과 학계에서도 공식적으로 사용하는 표현이라 가장 권장된다. 참고로 알파벳은 6개 모두 포네틱 코드(알파, 브라보, 찰리, 델타, 에코, 폭스트롯(폭스))로 읽는 것이 가장 격식있는 표현이다.
단, 동남 방언을 구사하는 사람들은 알파벳 E를 발음할 때성문 파열음 (ʔ)을 넣어 발음하는 경우가 더 많으므로[2] 구분이 잘 된다. 비단 E뿐만 아니라 모음으로 시작하는 영어 알파벳[3]을 발음할 때는 모두 성문 파열음이 들어간다. 사실, 영어를 모국어로 구사하는 현지인들에게 해당 알파벳들을 읽어보라고 하면 아주 자연스레 성문 파열음이 들어간다. 대한민국에서는 이상하게도 일부 알파벳을 읽을 때 성문 파열음이 사라진다.
- 8~16비트 세대 게임에서는 능력치의 한계가 255나 65535인 게임이 많았다. 이를테면 제4차 슈퍼로봇대전까지 기체 능력치 최대치가 255이고, 대미지 최대치,전투 1회당 획득할 수 있는 자금 한계수치가 65535였다. 굳이 이런 수를 채택한 이유는 이 수가 각각 1바이트와 2바이트가 표현할 수 있는 최댓값이기 때문이다. 여기서 더 높은 수를 사용하려면 메모리를 1바이트 더 사용해야 하는데 당시에는 메모리가 워낙 적어서 절약해야 했기 때문에 구태여 그래야 할 필요 까지는 없었다.
- 도스 게임 시대에는 잡지에 게임을 에디트하는 방법이 곧잘 실리고는 했는데 다들 상세한 원리는 몰라도 PC Tools로 파일을 열어 특정 주소를 FF FF FF FF 로 고치면 좋다는 것 정도는 몸으로 익히게 되었다.
- HEX 에디터는 2진법으로 기록된 데이터들을 보기 편하게 16진법으로 보여주는 프로그램이다. 16진법으로 표현된 데이터를 보기 위해서는 Hex 기능이 제공되는 별도의 편집 프로그램이 필요하다. 보통 'EditPlus'나 'UltraEdit'과 같이 프로그램 코드를 작성할 때 사용되는 프로그램에서 제공하는 경우가 대부분이다. 또한 게임 등에서 숨겨진 조건 요소를 조건 발동 확률을 1/5, 1/10, 1/100 같은 10진수 수가 아닌 1/8, 1/16, 1/24, 1/32 등의 16진수 수(정확히는 바이트 단위)를 사용하는 것도 이러한 이유에 가깝다.
- 고전게임 고인돌 2의 패스워드는 16진법으로 구성되어, 입력할 수 있는 문자는 1~0 및 A~F뿐이다.
- Microsoft Windows 기본 제공 계산기에도 16진수↔10진수 변환기능이 있다. Windows XP 이전의 옛 계산기에는 공학용 기능에 통합되어 있었지만 Windows Vista 이후의 계산기부터는 프로그래머용 계산기로 따로 분화되어 있다.
- HTML에서 색상을 표현할 때도 쓴다. HTML 코드나 CSS 코드를 잘 보면
color:#1FB9A6;같은 6자리 수의 16진수가 나오는 것을 볼 수 있다. 순서대로 두 자리씩 끊어서 빛의 삼원색인 빨강, 초록, 파랑의 밝기를 각각 256단계로 지정하는 방식이다. HTML 초창기부터 나온 표현법인데, 요즘은 다른 표기법도 많아져서[4] 예전처럼 독보적으로 쓰이지는 않는다. - 컴퓨터 역사 초창기 EDVAC[5] 시절에는 0~9, ABCDEF를 사용하는 hexadecimal 대신 0~9, KSNJFL를 사용한 sexadecimal 표기를 사용했다. KSNJFL을 사용한 건 5비트 문자셋에서 4비트만 사용하기 때문.
- 야구팬 중에도 알게 모르게 접한 사람이 꽤 있는데, 삼성 라이온즈의 별명 중 하나인 B성의 B는 11의 16진법 표기이기 때문이다. 삼성이 한이닝 11실점을 할 때 구형 전광판이 이닝별 득점을 한 자릿수로만 표기할 수 있었기에[6] 사용한 일종의 궁여지책이다.
- FamiTracker 등 트랙커 프로그램 역시 16진법을 이용한다.
[1] 프로그래밍 언어 쪽에서는
0o(숫자 0 + 알파벳 소문자 o)로 8진수를, 0b로 2진수를 표현한다.[2] 다른 방언이나 표준어에서도 대부분 무의식적으로 넣는경우가 대부분이라 이렇게 표현.[3] A, E, F, H, I, L, M, N, O, R, S, X[4] 앞서 예를 든 color:#1FB9A6;은 10진법으로 color:rgb(31, 185, 166);으로도 표기 가능하다.[5] 최초의 폰노이만식 저장프로그램 컴퓨터, 2진법 사용[6] 2018년 현재는 라팍 정도를 빼면 보기 힘들다. 구형 전광판이 3루측 띠전광판에 있어 메인전광판이 11을 표기하는 와중에 해당 전광판에는 B가 뜬다.![]()
이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외)
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.
나무위키는 백과사전이 아니며 검증되지 않았거나, 편향적이거나, 잘못된 서술이 있을 수 있습니다.
나무위키는 위키위키입니다. 여러분이 직접 문서를 고칠 수 있으며, 다른 사람의 의견을 원할 경우 직접 토론을 발제할 수 있습니다.