Bonsoir
comment je peut récupérer le premier octet d'un nombre de type short
merci.
Version imprimable
Bonsoir
comment je peut récupérer le premier octet d'un nombre de type short
merci.
suivant la partie que tu veuxCode:
1
2
3
4 low = (nombre & 0xff) ou hi = (nombre >> 8) & 0xff
ATTENTION, c'est différent si tu es en big endian ou little endian
voir ici pour des explications http://fr.wikipedia.org/wiki/Endianness
Dans l'environnement Microsoft, il y a aussi les macros LOBYTE et HIBYTE
voir ici : http://msdn2.microsoft.com/en-us/library/ms632658.aspx
Justement, si on travaille comme ça (avec les décalages et masques de bits), on ne dépend pas de l'endianess.Citation:
ATTENTION, c'est différent si tu es en big endian ou little endian
voir ici pour des explications http://fr.wikipedia.org/wiki/Endianness
Ce qui dépendrait de l'endianess, et n'est donc pas à utiliser, ce serait ça :
Code:
1
2
3
4 short s = 54; char* ptr = reinterpret_cast<char*>(&s); char low = ptr[0]; char hi = ptr[1];