[C] déclarer une variable hexadecimal

____22 Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   -  
stephbb75 Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Membre Dernière intervention   112
 
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