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
| #include <stdio.h>
#include <stdlib.h>
int main(void)
{
unsigned long const leNombre = 0x67452301;
char const *chaine1 = "0x67452301";
char const *chaine2 = "67452301";
unsigned long nbConverti1;
unsigned long nbConverti15;
unsigned long nbConverti2;
unsigned long nbConverti25;
nbConverti1 = strtoul(chaine1, NULL, 0);
nbConverti15 = strtoul(chaine1, NULL, 16);
nbConverti2 = strtoul(chaine2, NULL, 0); //Celui-la echouera.
nbConverti25 = strtoul(chaine2, NULL, 16);
printf("Nombre exprime en hexa en dur dans le source : %10lu (0x%08lX)\n", leNombre, leNombre);
printf("Nombre lu dans chaine avec prefixe, sans base : %10lu (0x%08lX)\n", nbConverti1, nbConverti1);
printf("Nombre lu dans chaine avec prefixe, base 16 : %10lu (0x%08lX)\n", nbConverti15, nbConverti15);
printf("Nombre lu dans chaine sans prefixe, sans base : %10lu (0x%08lX) (!)\n", nbConverti2, nbConverti2);
printf("Nombre lu dans chaine sans prefixe, base 16 : %10lu (0x%08lX)\n", nbConverti25, nbConverti25);
system("pause");
return 0;
} |
Partager