WarptenLe 25/08/2014 à 13:58
Je ne me sers pas de printf en général, c'était un test; je pense (sans avoir regardé le vaudou derrière printf, aka parsing du format pour déterminer les types) que mon uint8_t (aka unsigned char sur la plupart des platformes) est simplement cast implicitement sur un unsigned int. (sur x86)
Je trouve juste bizarre que std::cout ne lise que les 4 premiers bits (ou du moins, en ait l'air) d'un byte, qui est par définition sur 8 bits... Soit je me suis planté quelque part de façon tellement évidente que je ne vois pas mon erreur, soit y a un bug quelque part (et ça me surprendrait qu'un tel bug n'aurait pas été déjà trouvé et signalé)
printf("\nvia printf: %X\n", (unsigned int)(byte)); écrit bien 35, mais c'est normal, on étend à 32 bits.