Casting char vers unsigned corrompu
Bonjour !
L'affectation d'un char de valeur 0xFF dans un unsigned produit un résultat étrange :
Code:
1 2 3 4 5 6 7
|
char cBuf = 0xFF;
unsigned int uiTmp = cBuf ;
cout << hex << uiTmp << endl;
cBuf = 0x11;
uiTmp = cBuf ;
cout << hex << uiTmp << endl; |
provoque l'affichage de :
FFFFFFFF
11
Je m'attendais plutôt à l'affichage de :
FF
11
Pourquoi le cast ne fonctionne pas comme attendu dans le premier cas ???
Je travaille sous WinXP, processeur de la famille Intel Xeon, compilateur Microsoft Visual Studio 2008.
Merci pour vos suggestions.
Sylvain