Bonjour,
Voici mon problème :d'écrit un programme sur une cible hard utilisant le micro framework. J'ai besoin de passer les floats via une liaison série ou autre. Pour cela il faut que je convertisse les float sur 4 octets.
Avec le framemork on peut le faire avec BitConverter. Sinon le micro framework possède la classe serialization qui fait ce travail, mais malheureusement la carte sur laquelle je travail ne le supporte pas!
De plus la methode de sérialisation de micro framework n'est pas compatible avec la sérialisation du framework standard selon le livre Expert .NET Micro Framework de Jens Kühner. Je me demande quel est l'intérer de créer une sérialisation s'il est impossible de communiquer avec d'autre !
Donc je suis obligé de le faire à la main. J'ai trouvé un code qui permet de convertir un float vers 4 octets, mais je n'arrive pas à le faire dans le sens inverse.
Voici un extrait du code venant de Melem :
Quelqu'un pourrait m'aider à le faire dans l'autre sens ? et deplus il faut que ca fonctionne sur micro framework et framework!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 float f = 12.34F; byte[] valeur = new byte[4]; int fake_float = 0; unsafe { fake_float = *(int*)(&f); } valeur[0] = (byte)((fake_float & 0xff000000) >> 24); valeur[1] = (byte)((fake_float & 0x00ff0000) >> 16); valeur[2] = (byte)((fake_float & 0x0000ff00) >> 8); valeur[3] = (byte)((fake_float & 0x000000ff));
D'avance merci.
Partager