Truc en c s'il vous plaaait
Résolu/Fermé
DevGl
Messages postés
136
Date d'inscription
samedi 23 novembre 2013
Statut
Membre
Dernière intervention
16 mai 2015
-
Modifié par DevGl le 23/04/2014 à 19:47
DevGl Messages postés 136 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 16 mai 2015 - 23 avril 2014 à 22:18
DevGl Messages postés 136 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 16 mai 2015 - 23 avril 2014 à 22:18
A voir également:
- Truc en c s'il vous plaaait
- Wap truc - Télécharger - Navigateurs
- Truc aller - Télécharger - Divers Communication
- Truc d'alfred solution - Forum Loisirs / Divertissements
- Un p'tit truc en plus yggtorrent - Forum Blackberry
- Un truc pour vous - Forum Réseaux sociaux
1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
23 avril 2014 à 20:31
23 avril 2014 à 20:31
Bonjour,
0xAA vaut 170. Donc si tu affiches 0xAA tu auras 170.
En revanche, si tu stockes 0xAA dans un char signé, cela risque de poser problème car le nombre maximum est dépassé (en supposant qu'il soit stocké sur 8 bits).
Explication :
0xAA = 10101010 en binaire.
On suppose que ton char est sur 8 bits.
char a=0xaa = 1 0101010 (le premier chiffre sert pour déterminer le signe) car il s'agit d'un char signé (par opposition à unsigned char).
Il faut utiliser le complément à 2 (et rajouter 1) pour déterminer le nombre négatif.
0101010 en complément à 2 vaut : 1010101 (on inverse les 0 et 1).
Si on rajoute 1, ça donne : 1010110 ce qui donne : 86.
Ce qui fait -86.
Cdlt,
0xAA vaut 170. Donc si tu affiches 0xAA tu auras 170.
En revanche, si tu stockes 0xAA dans un char signé, cela risque de poser problème car le nombre maximum est dépassé (en supposant qu'il soit stocké sur 8 bits).
Explication :
0xAA = 10101010 en binaire.
On suppose que ton char est sur 8 bits.
char a=0xaa = 1 0101010 (le premier chiffre sert pour déterminer le signe) car il s'agit d'un char signé (par opposition à unsigned char).
Il faut utiliser le complément à 2 (et rajouter 1) pour déterminer le nombre négatif.
0101010 en complément à 2 vaut : 1010101 (on inverse les 0 et 1).
Si on rajoute 1, ça donne : 1010110 ce qui donne : 86.
Ce qui fait -86.
Cdlt,
23 avril 2014 à 21:52
Modifié par fiddy le 23/04/2014 à 21:57
Cela vaut en décimal : 0*16+10 = 170.
23 avril 2014 à 22:18