728x90
반응형
비전공자에게 있어서 10진수 2진수 8진수 16진수와 같은 이야기가 나오면 항상 헷깔렸었는데 이 참에 정리를 해 본다.
10진수를 n진수로 바꾸기 위해서는 n으로 나눈 나머지를 구하면서 계속 몫에 대해 계속 나눠 가면 된다.
일례로 10진수를 2진수로 변환하기 위해서는 다음과 같이 하면 된다.
10진수 59를 2진수료 표현
계산식 | 몫 | 나머지 |
59/2 | 29 | 1 |
29/2 | 14 | 1 |
14/2 | 7 | 0 |
7/2 | 3 | 1 |
3/2 | 1 | 1 |
1/2 | 0 | 1 |
위와 같이 해서 나오게 되는 나머지를 거꾸로 이어 붙이면 2진수가 된다. 즉 (111011)2 가 되게 되는 것이다.
이어서 59를 8진수로 만들면 다음과 같다.
계산식 | 몫 | 나머지 |
59/8 | 7 | 3 |
7/8 | 0 | 7 |
8진수의 경우에는 (73)8 이 되게 된다.
59를 16 진수로 만들게 될 경우는 다음과 같다.
계산식 | 몫 | 나머지 |
59/16 | 3 | 11 |
3/16 | 0 | 3 |
나머지를 역순으로 쓰면 311이 되게 되는데 16진수의 경우 다음의 문자로 표현되게 된다. (마치 포커와도 비슷하게...)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
따라서 11은 B가 되게 되어서 (3B)16 이 되게 된다.
변경할 수 없는 정수 상수를 나타낼 때, 16진수는 0x를 붙여 주고, 8진수는 0을 붙여 줍니다. 위의 예제 결과값을 상수로 바꾸게 되면 다음과 같습니다.
73 => 073
3B => 0x3B
728x90
반응형
'Develop!' 카테고리의 다른 글
Get에 Body 사용하기? (1) | 2021.08.26 |
---|---|
캐릭터셋에 대한 고민... (0) | 2018.03.21 |