Reconnaitre un hexadecimal négatif
Fermé
Pixelstock
-
Modifié par Pixelstock le 9/10/2011 à 11:50
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 - 9 oct. 2011 à 21:12
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 - 9 oct. 2011 à 21:12
A voir également:
- Hexadecimal negatif
- Éditeur hexadécimal - Télécharger - Édition & Programmation
- Fil noir et blanc positif ou négatif - Forum Matériel & Système
- Studi avis négatif - Forum Études / Formation High-Tech
- Fitline avis négatif - Forum Mobile
- Avoir un négatif - Forum Photo numérique
1 réponse
nicocorico
Messages postés
799
Date d'inscription
dimanche 19 juin 2011
Statut
Membre
Dernière intervention
3 juillet 2018
138
9 oct. 2011 à 12:14
9 oct. 2011 à 12:14
Pour déterminer le signe en héxa, il faut connaitre la position du bit de poids le plus élevé, donc la taille de la variable, et si ce bit est à 1, la valeur est négative, positive sinon...
9 oct. 2011 à 16:16
9 oct. 2011 à 17:13
Mais si on part du principe que les valeurs sont en 32 bits, en héxa ça donne 8 chiffres pour définir chaque valeur,
ensuite soit il n'y a pas 8 chiffres, la valeur est donc forcément positive, soit il y a 8 chiffres, et si le chiffre le plus à gauche dépasse $7, la valeur est forcément négative, positive sinon.
Donc :
9 oct. 2011 à 19:09
Si c'est bien cela, pourriez-vous également m'indiquer la méthode de conversion pour passer d'un valeur hexadécimal négative à son équivalent en décimal. J'ai lu beaucoup de chose la dessus et j'ai peur de mettre complément embrouillé ! (à partir de fd8736d0 par exemple)
Merci !
Modifié par nicocorico le 9/10/2011 à 21:35
Et pour convertir en décimal simplement, on commence par tester si la valeur est négative et si c'est le cas on le prend en compte dans la valeur décimale puis tu fais un complément à 2.
Ensuite il suffit de faire une boucle qui divise par 10 tant que la valeur est > 0, et chaques restes de division obtenus constituent les chiffres décimaux, en commençant par le plus faible...
9 oct. 2011 à 20:25
ff2aaa <=> 111111110010101010101010 en binaire
complément à deux : 000000001101010101010110
000000001101010101010110 <=> 54614 et donc mon résultat est -54614
C'est correct ?