Merci herve 91 mais comment faire alors?
Merci herve 91 mais comment faire alors?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 bufferToSend[1]=(byte) 35160 & 0x00FF; bufferToSend[2]=(byte) ( (35160 & 0xFF00) >> 8 ); int monEntier=convertByteToInt(bufferToSend[2])*256+ convertByteToInt(bufferToSend[1]); // attention les indices 1 et 2 étaient inversés ! System.out.println("monEntier = " + monEntier); } int convertByteToInt(byte b) { return b >= 0 ? b : b + 256; }
Ca marche!!!!!!!!!!!
Merci beaucoup
![]()
![]()
![]()
![]()
Hé oui, effectivement, je n'avais pas envisagé le cas où le byte était négatif ... donc ça plante si le byte est trop grand. Désolé, j'ai pas testé !![]()
En fait ton entier ne tient pas sur 2 bytes (-127 à 128), mais sur 2 bytes signés (0 à 255, ce qui n'existe pas en Java) d'où la petite fonction de conversion gracieusement offerte par herve91 !
T'inquiète pas, t'es pas le seul ! C'est pas si grave que ça.Envoyé par mune
Pour le coup des masques, prend 10 min. pour bien regarder comment ça marche et une fois que tu auras compris, tu n'oublieras plus.
Partager