keerigan
Messages postés54Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention31 mai 2012
-
13 juin 2006 à 11:01
keerigan
Messages postés54Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention31 mai 2012
-
13 juin 2006 à 14:59
Bonjour,
Je dois creer une trame socket et dans celle ci je dois ecrire sur 2 caracteres un entier 16 bits, je ne vois pas du tous comment faire
quelqu'un peut eclairer ma pauvre lanterne avec un petit exemple ?
par contre si tes chaines sont variables....il va te falloir trouver une solution pour délimiter tes champs....si tes chaines ne peuvent contenir ni valeur numérique ni '\r', tu auras juste a parser le contenu de ta trame. sinon tu vas devoir intégrer la longueur de champ dans ta trame....(ou autre solution mais cest a priori le mieux)
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 13 juin 2006 à 11:36
je suis pas très sur de moi, mais voila qui doit marcher correctement :
byte[] MyByteArray = new byte[2];
byte[0] = Convert.ToByte(MyInt16 >> 8); //copie du premier octet
byte[1] = Convert.ToByte(MyInt16 | 0xFF); //copie du second octet
tu utilise les opérations directement sur les bits. dans le premier octet tu copie MyInt16 décalé a droite de 8 bits, ce qui signifie que tu ne prend que les 8 premiers bits.
dans le second octet tu copie le contenu de ton entier en passant tous les bits du premier octet a 0 et en gardants ceux du second a leur valeur.