Develop!

기수 변환 (진수)

체리필터 2021. 5. 14. 14:56
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!' 카테고리의 다른 글

기수 변환 (진수)  (0) 2021.05.14
캐릭터셋에 대한 고민...  (0) 2018.03.21