Int to byte[]

cs_Sobieski Messages postés 54 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 13 mars 2007 - 9 juin 2005 à 13:31
eddyminet Messages postés 5 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 2 mars 2007 - 15 sept. 2007 à 14:33
Bonjour,

Je cherche à envoyer un tableau de bytes, mais j'ai des valeurs en int. J'aimerais savoir comment faire d'un int un tableau de bytes (byte[]).

Merci !
A voir également:

8 réponses

el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
9 juin 2005 à 14:06
Lut, je suis en train de buter sur le même problème.



Pour l'instant je me débrouille avec byteVal = System.Convert.ToByte(stringVal);



tiens voilà le code que j'ai trouvé pour convertir un string en byte. Pour int-> Byte ca doit être pareil.



public Byte ConvertStringByte(string stringVal)

{

byte byteVal =0;



try

{

byteVal = System.Convert.ToByte(stringVal);

System.Console.WriteLine("{0} as a byte is: {1}",

stringVal, byteVal);

}

catch (System.OverflowException)

{

System.Console.WriteLine(


"Conversion from string to byte
overflowed.");

}

catch (System.FormatException)

{

System.Console.WriteLine(


"The string is not formatted as a
byte.");

}

catch (System.ArgumentNullException)

{

System.Console.WriteLine(

"The string is null.");

}



return byteVal;

//The conversion from byte to string is always valid.

//stringVal = System.Convert.ToString(byteVal);


//System.Console.WriteLine("{0} as a string is {1}",byteVal, stringVal);

}


Tu pourrais me préciser le rôle de ton programme ? Par simple curiosité. Moi c'est de l'envoi sur port COM.



Sylvain
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
9 juin 2005 à 19:03
Salut..

int x = Int32.MaxValue;
byte[ ] bytes = new byte[ 8 ];

for ( int i = 0; i < 8; i++ )
{
bytes[ i ] = ( byte )x; // Cast
x = x >> 1; // Decalage a droite ou a gauche
}
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
9 juin 2005 à 19:16
Petite erreur.. faut un decalage de 8 pas de 1...
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
9 juin 2005 à 19:20
Oups.. et 4 bytes dans la boucle donc..

int x = 255;
byte[ ] bytes = new byte[ 4 ];

for ( int i = 0; i < 4; i++ )
{
bytes[ i ] = ( byte )x; // Cast
x = x >> 8; // Decalage a droite ou a gauche
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eddyminet Messages postés 5 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 2 mars 2007 3
14 sept. 2007 à 17:10
byte[] mon_tableau_doctets = BitConverter



.GetBytes( valeur_a_convertir );
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
15 sept. 2007 à 09:27
2 ans après je pense qu'il s'est débrouillé autrement depuis. : )
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
15 sept. 2007 à 14:23
C'est pas faux :p
0
eddyminet Messages postés 5 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 2 mars 2007 3
15 sept. 2007 à 14:33
Qui sait ... ;-)
0
Rejoignez-nous