[C] déclarer une variable hexadecimal [Fermé]

Signaler
Messages postés
98
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
13 janvier 2012
-
Messages postés
651
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

2 réponses

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 707
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).
10
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
651
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
3 mars 2020
110
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