printf Baston ! | Une méthode de barbare, mais si c'est pour un TP ça devrait passer
Code :
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- /* retourne le nombre (base 10) correspondant a un chiffre hexadecimal */
- int cHex_to_iDec(char hex) /* on suppose l'utilisation de l'ASCII */
- {
- if ((hex>=48)&&(hex<=57)) return (hex-48);
- if ((hex>=65)&&(hex<=70)) return (hex-55);
- if ((hex>=97)&&(hex<=102)) return (hex-87);
- return -1; /* erreur si hex n'est pas un chiffre hexadecimal */
- }
- void Str_to_Dec(char *str, int *dec, int lg_dec)
- {
- int i;
- for(i=0; i<lg_dec; i++)
- dec[i] = 16*cHex_to_iDec(str[i*2]) + cHex_to_iDec(str[i*2+1]);
- }
- void main()
- {
- int i, *dec, lg_dec;
- char *str = "5a258b";
- lg_dec = strlen(str)/2;
- dec = malloc(4*lg_dec);
- Str_to_Dec(str, dec, lg_dec);
- for(i=0; i<lg_dec; i++) printf("%d : %x\n", i, dec[i]);
- }
|
---------------
Un matin je me lèverai et il fera beau.
|