2진법과 16진법
1. 10진수
10진수는 우리가 일상 생활에서 사용하는 수이다. 0~9의 범위를 가지고 9다음 값은 10이되고 10~19 다음은 20으로 넘어가는 형식이다.
만약에 n진수라는 수가 있다면 0~(n-1)의 범위를 가지고 그 다음의 수는 10~1(n-1)의 범위를 가지게 된다.
예를들어 5진수라면 0~4의 범위를 갖고 4다음의 수는 10으로 바뀌는 것이다.
2. 2진수
2진수는 0~1의 범위를 가지고 1다음의 수는 10이 된다.
10진수를 2진수로 변경하는 방법과 반대로 2진수를 10진수로 변경하는 방법이 있다.
10진수->2진수
14라는 수를 2진수로 바꿔보자
먼저 14를 2로 나누면 몫은 7 나머지는 0이 나온다.
7을 2로 나누면 몫은 3 나머지는 1이 나온다.
3을 2로 나누면 몫은 1 나머지는 1이 나온다.
1은 더 이상 나눌 수 없으므로 여기서 끝낸다.
그 다음에 밑에서부터의 수를 차례대로 왼쪽부터 쓰면 1110이 나온다.
그림으로 표현하면 아래와 같이 나온다.
2진수->10진수
1110을 다시 14로 되돌리는 과정을 살펴보자
1 1 1 0
1은 2^3 = 8
1은 2^2 = 4
1은 2^1 = 2
0은 2^0 = 1
로 자릿수가 올라갈수록 2를 곱하면 된다.
그리고 모든 숫자를 합치는데 1인 부분만 더해주고 0인 부분은 더하지 않아도 된다.
컴퓨터는 0과 1로 모든 표현을 하기 때문에 컴퓨터가 사용하는 2진수를 우리는 알아야한다.
2진수는 0b01과 같이 표현을한다.
3. 16진수
16진수는 0 1 2 3 4 5 6 7 8 9 A(10) B(11) C(12) D(13) E(14) F(15) 의 16가지 숫자로 표현한다.
F다음의 수는 10이 되며
FF의 다음숫자는 100이런 식으로 넘어간다.
16진수는 0x01과 같이 표현한다.
2진수 -> 16진수 변환
1111 0110이라는 숫자가 2진수로 표현되었다고 했을때 맨 오른쪽부터 4개 단위로 숫자를 끊어서 표현하면
0110 = 6
1111 = 15 = F
즉, F6이라고 표현할 수 있다.
10진수->16진수 변환은 10진수를 2진수로 바꾸고 2진수를 16진수로 바꾸면 편하다.