bonjour,
j'ai fait une petite fonction qui me converti un nombre unsigned int en une chaine de caractère :
=> cette fonction est utilisée sur un µC 8 bits. Je suppose qu'il y a moyen d'optimiser ma fonction pour qu'elle soit encore plus rapide (et qu'elle prenne moins de place dans le code) : pouvez-vous m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
29
30
31
32
33
34
35
36
37 void uitoa(unsigned int myVal, unsigned char *myStr) { unsigned char nbr; if (myVal >= 10000){ nbr = (myVal/10000); myVal -= (nbr * 10000); *myStr = nbr + '0'; myStr++; } if (myVal >= 1000){ nbr = (myVal/1000); myVal -= (nbr * 1000); *myStr = nbr + '0'; myStr++; } if (myVal >= 100){ nbr = (myVal/100); myVal -= (nbr * 100); *myStr = nbr + '0'; myStr++; } if (myVal >= 10){ nbr = (myVal/10); myVal -= (nbr * 10); *myStr = nbr + '0'; myStr++; } *myStr = myVal + '0'; myStr++; *myStr = '0'; }
Partager