2진수는 컴퓨터가 이해하는 수
16진수는 2진수로의 전환이 용이하여 프로그래밍에 많이 사용하는 수
10진수는 일반적인 사람이 쓰는 수
때문에 3가지 진수의 관계를 알 필요가 있다.
-------------------------------------------------------------------------------------------------------
2진수를 10진수로 변환
1010110101을 10진수로 바꿔보자
512 256 128 64 32 16 8 4 2 1
1 0 1 0 1 1 0 1 0 1
1일때의 값만 가져와 더하면 된다.
512 + 128 + 32 + 16 + 4 + 1 = 693
2진수를 16진수로 변환
1010110101을 오른쪽부터 4개씩 묶는다.
10 / 1011 / 0101
그 4개씩을 10진수로 바꾼다.
10 --> 2
1011 --> 11
0101 --> 5
이때 10이상의 수는 알파뱃으로 표기한다.
10 / 11 / 12 / 13 / 14 / 15
A / B / C / D / E / F
따라서 1010110101은
16진수로 2B5라고 변환된다.
-------------------------------------------------------------------------------------------------------
10진수를 2진수로 변환
693을 계속 2씩 나누어 간다. 그때의 나머지를 기록해둔다.
693 / 346 / 173 / 86 / 43 / 21 / 10 / 5 / 2 / 1
1 0 1 0 1 1 0 1 0
그 나머지들을 거꾸로 읽는다.
16진수를 2진수로 변환
2B5를 각 자리수마다 2진수로 바꾼다
2 B 5
0010 1011 0101 --> 1010110101