Hi Toni!
Ich weiss nicht ob es gerade die einfachste und schönste Lösung ist,
aber Du könntest das Konvertieren zum Beispiel so machen:
// float in 4 bytes zerlegen
float x = 3.141596;
unsigned char * float_pointer = (unsigned char*)&x;
unsigned char b[4];
b[0] = *float_pointer++;
b[1] = *float_pointer++;
b[2] = *float_pointer++;
b[3] = *float_pointer++;
// und die 4 bytes wieder zu einem float zusammensetzen
float y;
float_pointer = (unsigned char*)&y;
*float_pointer++ = b[0];
*float_pointer++ = b[1];
*float_pointer++ = b[2];
*float_pointer++ = b[3];
// zur Kontrolle ausgeben
printf("%e %e\n", x, y);
Dabei wird einfach über einen Zeiger auf den Speicherplatz des Floats
zugegriffen und die Werte der 4 Bytes der Reihe nach ausgelesen und in
das Array b gespeichert. Das Rückschreiben funktioniert genauso, nur
sind die Zuweisungen andersherum...
MfG
Daniel Jelkmann