하트위키
최근 변경
최근 토론
임의 문서
도구
최근 변경
16진수
(r2 편집)
[오류!]
편집 권한이 부족합니다. 로그인된 사용자(이)여야 합니다. 해당 문서의
ACL 탭
을 확인하시기 바랍니다.
닫기
RAW 편집
[[분류:진법]] [include(틀:진법)] [목차] == 개요 == {{{+1 十六進法 / hexadecimal}}} 십육을 밑(기수)로 하는 기수법이다. 즉 0부터 15까지 0 부터 9까지 센 다음은 A 부터 F를 사용하고 16으로 올라가면서 자릿수가 바뀌는 것이 된다. 영어로는 hexadecimal(헥사데시멀)이고, 줄여서 hex(헥스)라고도 부른다. 다른 n진수는 'base n'이라고 표현하지만 2진수, 8진수, 10진수, 16진수 이 네 개는 꼬박꼬박 전용 표현(binary, octal, decimal, hexadecimal)을 써 준다. == 목적 == 컴퓨터에서 2진법을 쓰는 이유는 알겠는데 10진법도 아닌 어중간한 16진법까지 배우면 머리가 터질 수도 있다. 16진법을 사용하는 이유는 이진법으로 표기된 8자리의 1바이트 값을 16진법 단 2자리 문자 만으로 표현할 수 있기 때문이다. 예를 들어 1바이트의 값이 2진법으로 {{{0101 1111}}} 라면 16진법으로 {{{5F}}}로 표기하면 그만이다. 가독성은 물론 표시 공간도 훨씬 줄어들고 16진법 숫자를 읽는데에 익숙해지면 바로바로 알아보는 것도 가능해진다. * 16진법을 2진법으로 바로 변환하려면 각 자릿수를 2진법으로 변환하면 된다. 예를 들면 {{{25FB}}},,16,,를 {{{0010}}},,2,,(={{{2}}},,16,,), {{{0101}}},,2,,(={{{5}}},,16,,), {{{1111}}},,2,,(={{{F}}},,16,,), {{{1011}}},,2,,(={{{B}}},,16,,)처럼 끊어서 변환한 다음 전부 붙여서 {{10 0101 1111 1011}},,2,,로 적으면 된다. * 반대로, 2진법을 16진법으로 바로 변환하려면 일의 자리에서부터 4개씩 끊어서 16진법으로 변환해주면 된다. {{{10111010101010101011110100010}}},,2,,를 {{{(000)1 0111 0101 0101 0101 0111 1010 0010}}}_2로 끊어주고 각각 변환하면 {{{175557A2}}},,16,,이 된다. == 표기 == 자릿수 하나가 0~15를 표현할 수 있다. 하지만 우리가 흔히 사용하는 아라비아 숫자는 0부터 9까지 밖에 없기 때문에 10은 A, 11은 B, 12는 C, 13은 D, 14는 E, 15는 F로 로마자를 사용해 표현한다. 따라서 {{{12}}}는 16진수로 {{{C}}},,16,,가 되고, {{{15}}}는 16진수로 {{{F}}},,16,,가 되고, 그 다음인 {{{16}}}은 16진수로 {{{10}}},,16,,이 된다. 즉, {{{11}}},,16,,은 10진수로 {{{11}}}이 아니라 16진수로 16+1이므로 {{{17}}},,16,,이 된다. 일반적으로 n진수를 표기하는 방법은 수 뒤에 아래첨자로 n을 적는 것이지만, 16진법은 굉장히 흔히 쓰여서 그런지 다른 표기법도 많이 통용된다. 수 뒤에 (16)이란 기호를 붙이거나 아래첨자로 hex라고 기재하는 방식을 사용하기도 한다. 그 외에 접두어 '''{{{0x}}}'''를 붙여서 '''{{{0x10}}}'''처럼 표기하는 경우도 있는데, 이건 프로그래밍 언어 쪽에서 16진수 상수(리터럴)를 표현하는 방식이다.[* 프로그래밍 언어 쪽에서는 {{{0o}}}(숫자 0 + 알파벳 소문자 o)로 8진수를, {{{0b}}}로 [[2진수|2진수]]를 표현한다.] 이외에도 {{{$10}}}, {{{10h}}}와 같이 표기하기도 한다. 암호화폐 제로엑스(0x)가 여기서 따와서 지은 이름이다.
Liberty
|
the tree