Forum: Mikrocontroller und Digitale Elektronik ascii als float interpretieren


von jamest (Gast)


Lesenswert?

Moin!
ich habe einen char String:
  String[0]=0x3f;
  String[1]=0x80;
  String[2]=0x00;
  String[3]=0x00;

Das ganze ist einfach eine 1 als float number.


Nun mein Problem: wie kriege ich es hin, dass ganze wieder als float 
number zu interpretieren?

float f = String[0]; ?
So gehts jedenfalls nicht :D

von Karl H. (kbuchegg)


Lesenswert?

jamest schrieb:
> Moin!
> ich habe einen char String:

Damit fängt es schon mal an.
Du hast keinen String.

Du hast vielleicht ein char Array in dem die Bytes eines float abgelegt 
sind. Aber deswegen ist das noch lange kein String.

>   String[0]=0x3f;
>   String[1]=0x80;
>   String[2]=0x00;
>   String[3]=0x00;

> float f = String[0]; ?

  float f = *(float*)String;


Und nenn Dinge, die kein String sind auch nicht String.
Ausserdem ist es unklug für Bytes den Datentyp char zu benutzen. 
Entweder 'unsigned char' oder uint8_t
Alles andere ist ein Schrei nach Ärger.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.