Bonjour,

je travaille sur un decoder de paquet. je dois donc lire byte par byte le paquet et stocker les données dans les classes representant le protocole.

Ma question est je dois lire les 4 premiers bit d'un byte. Comment je peux faire?
Voila ce que j'ai fait:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
int aux=DecoderHelper.extractInteger(combined,offset,1); // transforme le byte en intier
int Optional = (aux & 0x01);
int Transitive = (aux & 0x01)>>>1;
int Partial = (aux & 0x01)>>>2;
int ExtendedLength = (aux & 0x01)>>>3;
le resultat est que j'ai des zero partout Alors que la valeur du byte est 40, c est a dire 64 en decimal (valeur de aux) et en binaire ca fait 0100 0000
donc le resultat devrait etre
optional = 0; transitive = 1; partial = 0 et extendedLength = 0


Merci de votre aide