분류
1. 개요 [편집]
十六進法 / hexadecimal
십육을 밑(기수)로 하는 기수법이다. 즉 0부터 15까지 0 부터 9까지 센 다음은 A 부터 F를 사용하고 16으로 올라가면서 자릿수가 바뀌는 것이 된다.
영어로는 hexadecimal(헥사데시멀)이고, 줄여서 hex(헥스)라고도 부른다. 다른 n진수는 'base n'이라고 표현하지만 2진수, 8진수, 10진수, 16진수 이 네 개는 꼬박꼬박 전용 표현(binary, octal, decimal, hexadecimal)을 써 준다.
십육을 밑(기수)로 하는 기수법이다. 즉 0부터 15까지 0 부터 9까지 센 다음은 A 부터 F를 사용하고 16으로 올라가면서 자릿수가 바뀌는 것이 된다.
영어로는 hexadecimal(헥사데시멀)이고, 줄여서 hex(헥스)라고도 부른다. 다른 n진수는 'base n'이라고 표현하지만 2진수, 8진수, 10진수, 16진수 이 네 개는 꼬박꼬박 전용 표현(binary, octal, decimal, hexadecimal)을 써 준다.
2. 목적 [편집]
컴퓨터에서 2진법을 쓰는 이유는 알겠는데 10진법도 아닌 어중간한 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이 된다.
3. 표기 [편집]
자릿수 하나가 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은 10진수로 11이 아니라 16진수로 16+1이므로 1716이 된다.일반적으로 n진수를 표기하는 방법은 수 뒤에 아래첨자로 n을 적는 것이지만, 16진법은 굉장히 흔히 쓰여서 그런지 다른 표기법도 많이 통용된다. 수 뒤에 (16)이란 기호를 붙이거나 아래첨자로 hex라고 기재하는 방식을 사용하기도 한다. 그 외에 접두어
0x를 붙여서 0x10처럼 표기하는 경우도 있는데, 이건 프로그래밍 언어 쪽에서 16진수 상수(리터럴)를 표현하는 방식이다.[1] 이외에도 $10, 10h와 같이 표기하기도 한다. 암호화폐 제로엑스(0x)가 여기서 따와서 지은 이름이다.