본문 바로가기

컴퓨터/C언어

10진수 16진수 계산하기

안녕하세요 sdk입니다

저번 포스팅에서 2진수를 거처 16진수로 변환하는 방법에 대하여 포스팅을 하였는데요

이번엔 10진수에서 16진수로 바로 계산하는 방법에 대하여 알아보도록 하겠습니다


먼저 10진수를 16진수로 바꾸는 방법에 대하여 알아보도록 할탠데요

의외로 간단합니다.

10진수를 2진수로 바꾸는것과 같이 

10진수 숫자를 16으로 나눠 나머지를 쓰고 그거에 대응하는 숫자 혹은 문자를 쓰면 됩니다


 10진수

16진수 

 1

 1

 2

 2

 3

 3

 4

 4

 5

 5

 6

 6

 7

 7

 8

 8

 9

 9

 10

 A

 11

 B

 12

 C

 13

 D

 14

 E

 15

 F

 

 


예를 들어 2015을 16진수로 나타내봅시다

2015 나누기 16은 125 로 나눠지고 나머지는 15 입니다

125를 16으로 나누면 7로 나눠지고 나머지로는 13이 남습니다

이걸 거꾸로 써서  7 13 15 로 쓰고 

대응하는 문자를 써넣으시면 됩니다.

0x7DF 로 표기하게 되겠네요.

사실 2진수 계산법과 동일합니다.


반대를 생각해볼까요

16진수를 10진수로 바로 계산하는 방법입니다.

간단히 한마디로 말하자면 16의 (자릿수 - 1) 제곱 * 숫자 를 전부 합하는것입니다.


예를들어 설명하겠습니다

 2015를 16진수로 바꾸면 7DF 라고 하였습니다.

그러면 7 D F 이렇게 나뉘는데요

우선 3번째 자리수부터 계산하면 

3번째 자리수가 7 이고  16의 ( 3-1=2 ) 제곱을 해준뒤 7을 곱합니다 .  = 1792

두번째 자릿수에 D 가 있습니다 16의 ( 2-1) 제곱 에 D ( 13 ) 을 곱해줍니다  16* 13  =  208

첫번째 자리수에 F 가 있습니다 이는 16( 1-1=  0 ) 제곱에 F ( 15)를 곱합니다  1 * 15 = 15

다 더해주면

2015가 나오게 됩니다


이상 10진수에서 16진수로 바꾸거나 16진수에서 10진수로 바꾸는 계산을 설명했습니다.






여러분들의 댓글은 큰 힘이됩니다 :)