xelados
Messages postés9Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention15 avril 2005
-
5 avril 2005 à 15:54
NitRic
Messages postés402Date d'inscriptionmardi 1 mai 2001StatutMembreDernière intervention15 août 2011
-
7 avril 2005 à 01:42
Bonjour je suis nouveau ici et pas tres experimenter en c++ je fait cela pour mon propre plaisir personnel jai msvc++ 2003.net comme compilateur
bon ma question est la suivante jai plus ou moin compris les bit 8 ,16,32 .. arretez moi si jme trompe ... donc si jai bien compris un char cest 8 bit donc si il est unsigned donc c 0 a 255 donc 256 charactere que je peut metre lun a la suite de lautre dans le postif .... et si il est signed c 128 charactere que je peut metre un a suite de lautre ... mais pour ce qui est du negatif ... -128 ... comment des charactere peut etre negatif ... sois je nais rien compris a ce que jai lu ou que jsuis pas capable de figurer un charactere dans le negatif ce que sa donnerais... si vous pouvez eclairer ma lenterne sa serais tres apprecier merci ...
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 5 avril 2005 à 16:15
En fait les caractères ne sont que des entiers (sur 8 bits comme tu l'a dit) selon l'association de la table ASCII. Cette table donne l'association pour les valeurs de 0 à 127 et donc ça tient sur un signé de 8 bits.
Maintenat des extensions à cette table existent pour les cractères accentués notamment et on utilise alors les valeurs de 128 à 255. Le pb c'est que ça tient bien sur 8 bits mais non signé.
Cependant, dans le code, on utilise simplement des char signé même pour les valeurs de 128 à 255. il ne faut pas oublier que en mémoire 8 bits c'est 8 bits, c'est juste pour nous (et le compilo) que l'on décide si cela sera une réprésentation signée ou non. Il faudra donc faire attention lors des opérations arithmétiques sur ces entiers.
cleter
Messages postés92Date d'inscriptionmardi 25 février 2003StatutMembreDernière intervention15 mai 2006 5 avril 2005 à 17:25
Pour résumer ce qu'a di ymca, si tu veu juste utiliser les char pour
des caracteres, tu n'a pas a te soucier si c'est signé ou non.
De plus, si je ne di pas de bétise, un char, c'est 8bits, qui donne une
valeur hexadecimal(de 00h 0FFh). et a ce niveau la, le signe
n'intervient pas.
Mais comme c'est difficile de compter en hexa (on aurai appri ca des la primaire on aurai pa de pb)
au lieu d'associer un char avec un hexa, on prefere associer le char
avec un entier. Et c'est la que les ennui commencent. Les entiers
peuvent etre signés ou non donc bah on fini par s'emmeller les
pinceaux... (FFh=255 en non signé, et -1 en signé, si je me trompe pas)
En tout cas, pour la majoriter des application, il est pas util de considerer un char comme "signé"