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!' 카테고리의 다른 글

Get에 Body 사용하기?  (1) 2021.08.26
캐릭터셋에 대한 고민...  (0) 2018.03.21