컴퓨터는 2진수 0,1을 사용하지만 2진수로 표현하기에 너무 긴 수를 간략히 사용하기 위해 16진수를 사용한다.
예를들어 당장 10진수인 1024를 2진수로 표현하면 10000000000 가 된다.
만약 1024가 아니라 '1억5천 200만' 같은 수를 2진수로 표현한다면..?
생각만 해도 너무 긴것같다.. 보기에도 상당히 불편할 것이다.
이렇게 너무 큰 수들을 표현하기 위해 16진수를 사용한 한다.
16진수
- Hexadecimal이라 하며 2진수는 1bit를 나타내는 반면에 16진수는 2진수 4bit를 하나로 묶어서 표현한다
- 0~15까지 총 16개의 수를 한자리에 표현하며 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f으로 나타내며 10~15는 A~F로 나타낸다.
- 이진수는 1001(2) 로 이진수 인것을 표현하는데 16진수는 앞에 0x를 붙여서 16진수임을 나타낸다
16진수 변환방법
- 예를들어 255인 수를 2진수로 변환하면 11111111이 된다.
16진수는 2진수 4비트를 한묶음으로 나타내므로 bit씩 끊어 읽으면 1111 1111로 나눌 수 있다.
여기서 2진수 4비트는 2의4제곱을 의미하며 가장 오른쪽부터 8,4,2,1 의 값을 나타낼 수 있다.
이중 '1'로 된 비트 값을 더하여 16진수로 변환할 수 있다.
'1111' 은 8,4,2,1 모두 1비트 이므로 8+4+2+1 = 15가 되어, 16진수로 표현하면 'F'가 된다.
이런 식으로 255를 16진수로 나타내면 0xFF로 표현할 수 있다.
'CS > edwith: CS50강좌 공부' 카테고리의 다른 글
8. 가상현실과 증강현실 (0) | 2019.09.01 |
---|---|
7. 이미지 (0) | 2019.09.01 |
5. ASCII 코드 (0) | 2019.09.01 |
4. 이진수 (0) | 2019.09.01 |
3. 비트와 바이트 (0) | 2019.09.01 |