티스토리 뷰

반응형

void xputs_int(char *s,int a)
{
printf("%s=%d\r\n",s,a);
}


int HEX_str_to_bin(char *hex_str)//0x 빼고 넣어주세요
{
int ret=0;
char a;
while(1)
{
a=*hex_str;
if(a==0)break;
hex_str++;
ret=ret<<4;
if(('0'<=a)&&(a<='9'))
{
ret|=a-'0';
}
else if(('a'<=a)&&(a<='f'))
{
ret|=a-'a'+10;
}
else if(('A'<=a)&&(a<='F'))
{
ret|=a-'A'+10;
}
else
{
//err
break;
}
}
return ret;
}
void test_HEX_str_to_bin(void)
{
char buf[32];
int i,a;
for(i=0;i<=0xffff;i++)
{
itoa(i,buf,16);
a=HEX_str_to_bin(buf);
xputs_int(buf,a);
if(a!=i)
{
//err
xputs_int("ERR",a);
break;
}
}
}

/*
출력
0=0
1=1
2=2
3=3
4=4
5=5
6=6
7=7
8=8
9=9
a=10
b=11
c=12
d=13
e=14
f=15
10=16
11=17
12=18
13=19
14=20
15=21
16=22
17=23
18=24
19=25
1a=26
1b=27
1c=28
1d=29
1e=30
1f=31
20=32
21=33
22=34
23=35
24=36
25=37
26=38
27=39
28=40
29=41
2a=42
2b=43
2c=44
2d=45
2e=46
2f=47
30=48
31=49
32=50
33=51
34=52
35=53
36=54
37=55
38=56
39=57
3a=58
3b=59
3c=60
3d=61
3e=62
3f=63
40=64
41=65
42=66
43=67
44=68
45=69
46=70
47=71
48=72
49=73
4a=74
4b=75
4c=76
4d=77
4e=78
4f=79
50=80
51=81
52=82
*/

반응형

'C언어' 카테고리의 다른 글

stm32 HSE 클럭 활성화  (0) 2022.07.05
stm32 tick count 1msec 수정 포인트  (0) 2022.06.15
UART 데이터 수신처리 예제 코드입니다.  (0) 2022.04.30
BuildDateTime.exe  (0) 2022.03.24
RP2040 개발환경(작성중)  (0) 2022.02.02
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함