Rotation de bits et conversion hexa

Résolu/Fermé
nico123104 Messages postés 109 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 23 janvier 2010 - 12 janv. 2010 à 21:15
nico123104 Messages postés 109 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 23 janvier 2010 - 12 janv. 2010 à 22:23
Bonsoir,

J'ai un petit soucis, quand je tente d'effectuer une rotation de bits. En fait ce qu'il se passe c'est que, l'ordinateur m'effectue correctement cette opération mais il me fait une conversion hexadécimale en trop :(

Par exemple pour le code ci-dessous :

int variable = 15 << 1;

J'obtiens la valeur hexa 1e alors que je devais plutôt avoir une valeur de 30.

Il n'y a pas un moyen simple d'indiquer que ma valeur de 15 est en base décimale et qu'il doit me retourner le résultat dans la même base ? :s


Merci d'avance de votre aide :)
A voir également:

5 réponses

Bonjour

C'est ton affichage qui détermine la base, pas l'opération de décalage.
Comment fais-tu pour afficher ton 1e au lieu de 30 ? Si tu fais un printf avec %x, utilise plutôt %d
0
nico123104 Messages postés 109 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 23 janvier 2010 7
12 janv. 2010 à 21:25
En fait je suis en C++ j'utilise tout simplement cout<<variable;
0
chez moi ça affiche bien 30... qu'y a -t-il d'autre dans ton programme ?
0
Tu dois faire un cout << hex quelque part; il faut faire cout << dec pour revenir en décimal
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nico123104 Messages postés 109 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 23 janvier 2010 7
12 janv. 2010 à 22:23
Oui cette fois-ci ça m'affiche correctement. J'ai tout mis en commentaire excepté cette partie du code, et j'ai même enlevé le <<dec que tu me conseillais ça marche !!

Je sais pas où ça déconne mais je vais dé commenter au fur et à mesure pour trouver la ligne qui pose problème...

Dans mon programme j'appelle tout un tas de méthodes spécifiques aux strings et aux flux, c'en est peut être la cause.

En tout cas merci de ton aide !
0