probléme conversion decimal négatif -> hexadecimal
Bonjour,
J' ai un problème dans mon programme.
je n' arrive pas à convertir les nombres négatifs en hexa j' ai un résultat incohérent.
Je tente de récupérer l' adresse du premier argument du main.
Je découpe l' adresse (8octets) en deux pour al faire rentrer dans un deux int.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
int var;
int nb;
long long var2;
void *ml;
ml = argv[0];
var2 = ((long long)ml);
nb = var2;
var = ((long long)ml >> 32);
if (nb < 0)
nb = nb * -1;
printf ("decimal nb : %d\n", nb);
printf ("HEXA nb : %s\n", int_to_base(nb, "0123456789abcdef", 16));
printf("DECIMAL : %d\n", argv[0]);
return (0); |