[C] déclarer une variable hexadecimal

____22 Messages postés 98 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 13 janvier 2012 - 23 avril 2009 à 13:11
stephbb75 Messages postés 726 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 3 mars 2020 -
Bonjour,

comment declarer en C un evariable hexadécimale

int x = 0x10;

quoi mettre à la place de int? byte?

est-ce que x vaut 10 ou 16 dans ce cas?

merci de l'aide
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 846
23 avril 2009 à 13:25
Salut,
Ta variable ne possédera pas de base particulière. Dans la mémoire le nombre est stockée en binaire.
C'est à l'affichage que tu peux demander l'affichage dans une base (16 par exemple).
Lorsque tu fais int x = 0x10; tu expliques au compilateur que le nombre que tu rentres est en base 16. Lui il le stockera en binaire en mémoire. Si tu demandes un affichage en décimal (printf("%d",x); t'obtiendras 16.
Si tu mets printf("%x",x); cela sera 10 (affichage hexa).
13
stephbb75 Messages postés 726 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 3 mars 2020 112
23 avril 2009 à 13:25
Bonjour,

Tu ne peut pas déclarer une variable Hexa en C, tu déclare des entiers (int, long, ...) ou des flote, double ...
Ensuite tu peut travailler avec l'hexa.

Dans ton cas, int x = 0x10; tu a la valeur Hex 10 dedans, ce qui correspond a 16 en base 10, "10000" en binaire ....


Steph
2