수의 체계
우리가 일상생활에서 사용하는 숫자는 10진법이라는 진법 체계를 사용한다.
컴퓨터는 어떤 진법을 사용하는지 살펴보자.
진법
진법 이란 사용할 수 있는 숫자의 개수와 위치 값을 정의해주는 수 체계이다.
사용할 수 있는 숫자는 N진법이라고 할때 0부터 N - 1까지이다.
즉 10진법은 0부터 9까지만 사용하는 진법인 것이다.
컴퓨터에서는 주로 2진법, 8진법, 16진법을 사용하는데
만약 10보다 큰 진법의 경우 10에 대응하는 A라는 문자를 써서 표기하기도 한다.
16진법의 경우 10은 A, 11은 B, 12는 C, 13은 D, 14는 E, 15는 F로 표기하는 식이다.
자릿값
수 체계에 있어 자릿값의 개념은 매우 중요하다.
모든 수를 구성하는 각 숫자는 자릿값을 가지고 있으며
해당 자릿값은 그 값의 위치가 의미하는 제곱수를 해당 진법에 적용하는 방식이다.
각 위치가 의미하는 제곱수는 가장 오른쪽이 0이고 왼쪽으로 가면서 1을 더한 값이 된다.
예를 들어 10진수 123이라는 숫자를 살펴보자.
각 위치의 제곱수는 3은 0, 2는 1, 1은 2가 된다.
수식으로 표현해보면 아래와 같다.
10진수는 우리가 실생활에서 쓰는 진법인만큼 이해도 빠르고 쉽다.
이번엔 2진수, 8진수, 16진수를 한 번 표현해보자.
2진수 예시
8진수 예시
16진수 예시
반대로 소수점은 1씩 빠지게 된다.
8진수 예시
16진수 예시
어떠한 진법을 썼는지는 위의 수식처럼 우측 하단에 첨자로 표현한다.
진수 간의 값 비교
10진수 | 2진수 | 8진수 | 16진수 |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
16 | 10000 | 20 | 10 |
17 | 10001 | 21 | 11 |