Study/STM32F

ds1338용 HEX <-> DEC 변환

Answer Choi 2015. 2. 12. 10:48
반응형



여기서 말하는 HEX <-> DEC 변환은 DS1338용 입니다.


DS1338(RTC)보기 


일반적인 16진수 <-> 10진수 변환이 아닙니다.^^;;


즉 정수 30을 0x30으로 변환해주고, 0x56을 정수 56으로 변한하는 코드입니다.


DEC->HEX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int dec2hex(int dec)
{
   
    int hex;
    if(dec<10)
    {
        hex=dec;
    }
    else
    {  
        hex=((dec/10)*16)+(dec%10);
    }
    return hex;
 
}
cs


10진수를 16진수로 바꿔주는 함수 입니다.


10보다 적으면 상관없이 그대로 바꾸면 되고, 10보다 큰 경우 10으로 나눈 수에 16을 곱하고, 나머지를 그대로 더해주 면됩니다.


HEX->DEC


1
2
3
4
5
6
7
8
9
10
11
12
13
14
int hex2dec(int hex)
{
    int dec;
    if(hex<16)
    {
        dec=hex;
    }
    else
    {
        dec=((hex/16)*10)+(hex%16);
    }
 
    return dec;
}
cs


반대로 16진수를 10진수로 바꿀 때에는 16보다 적은경우는 그대로 넣어주시면 되고, 큰 경우만 계산해 줍니다.


반응형