안녕하세요 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진수로 바꾸는 계산을 설명했습니다.
'컴퓨터 > C언어' 카테고리의 다른 글
한국 정보올림피아드 공식 홈페이지 주소 (0) | 2015.09.24 |
---|---|
[ASCIII Code ]아스키 코드 표 (1) | 2015.09.08 |
수학 ㅡ 2진수 16진수 변환하기 (7) | 2015.08.30 |
수학 ㅡ 2진수 10진수 끼리 변환하기 ( 2 -> 10 ) ( 10 - > 2 ) (1) | 2015.08.29 |
C언어 반복문 가벼운 문제 (7) | 2014.08.08 |