Merci herve 91 mais comment faire alors?
Version imprimable
Merci herve 91 mais comment faire alors?
Code:
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
:D :D :D :D
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é ! :oops:
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 ! :D
T'inquiète pas, t'es pas le seul ! C'est pas si grave que ça.Citation:
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.