[컴퓨터 기초] 16진수(hexadecimal)
16진수
16진수란 16을 기수로 하는 번호체계를 말한다. 즉, 그것은 다음 숫자를 위해 새로운 위치를 추가하기 전에 16개의 일련 번호를 기본 단위로 포함하는 번호체계이다. 16진법에서는 숫자 0~9까지와 영문 알파벳 문자 A~F까지를 사용한다. 아래의 표에 모두 같은 값을 갖는 2진수와 10진수 그리고 16진수를 나타내었다.
16진수는 1byte 거의 항상 8bit 정의되는 컴퓨터에서 2진수를 표현하는 편리한 방법이다. 컴퓨터 기억장소의 내용을 보며줄때, 하나의 16진수 숫자는 4개의 2진수 숫자를 표시할 수 있다. 두 개의 16진수 숫자는 8 bit, 즉 1byte를 표현할 수 있다.
컴퓨터과학에서는 숫자를 10진수나 2진수 대신 16진수로 표현하는 경우가 많다. 컴퓨터에서 데이터를 처리하기 위해 16진수를 사용할 때 장점이 있기 때문이다. 16진수와 일상생활에서 사용하는 10진수와 비교하면 차이를 알 수 있다.
16진수를 사용하면 10진수보다 2진수를 간단하게 나타낼 수 있다.
10진수를 16진수로
JPG 이미지 파일은 항상 255 216 255로 시작되고 이것이 10진수 이다. 하지만 실제 컴퓨터 내에서는 10진수를 사용하지 않는다.
컴퓨터는 0과 1만 이해할 수 있기 때문이다.
먼저 255 216 255를 2진수로 나타낸다면 11111111 11011000 11111111 이다.
2진수로 모든 데이터를 표현하기에는 너무 길어지기 때문에 16진수로 바꾼다. 2^424이 16이기 때문에 4bits씩 두 덩어리로 나누어 보면 0000 부터 1111까지는 16진수로 표현이 가능하다는 것을 알 수 있다.
10부터 15까지를 16진수로 표기하려면?? 10은 a, 11은 b, ... 15는 f를 대입하여 사용한다. 4bits씩 16진수로 변환한 후에 0x를 붙혀 뒤에오는 숫자가 16진수임을 알려준다.
16진수의 유용성
ASCII 코드에 의해 "A,B,C"는 10진수로 65, 66, 67에 해당한다. 컴퓨터는 10진수를 이해할 수 없으므로 2진수로 표현해보면 "01000001 01000010 01000011"이 된다. 컴퓨터가 처리할 수 있어야 하기 때문에 0과 1로 표현하였지만 길이가 너무 길다..
01000001 -> 1byte -> 8bit -> 4bit , 4bit // 4bit 두덩이로 나눠서 표현하면 0100 0001 이러한 형태가 되기 때문에 좀 더 보기 편해진다.
하지만 16진수로 표현하려면 2진수로 표현했을 때보다 훨씬 간단해진다. 또한 컴퓨터는 8개의 비트가 모인 바이트 단위로 정보를 표현한다.
2개의 16진수는 1byte의 2진수로 변환되기 때문에 정보를 표현하기 매우 유용하다.
A : 65 -> 0100 0001 -> 0x41
'CS > 컴퓨터' 카테고리의 다른 글
[컴퓨터 기초] 32bit 컴퓨터와 64bit 컴퓨터 차이점 (0) | 2021.08.17 |
---|---|
[컴퓨터 기초] 2진수(binary) (0) | 2021.08.17 |
[컴퓨터 기초] bit, byte (0) | 2021.08.17 |
[컴퓨터 기초] 하드웨어 (0) | 2021.08.17 |
[컴퓨터 기초] ASCII Code(아스키코드) (0) | 2021.03.20 |