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:
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
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;
donc le resultat devrait etre
optional = 0; transitive = 1; partial = 0 et extendedLength = 0
Merci de votre aide
Partager