LabVIEWForum.de - float wert in 4 byte konvertieren

LabVIEWForum.de

Normale Version: float wert in 4 byte konvertieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe zurzeit die Aufgabe, dass ich einen gewissen floatwert in einen 4 byte wert umwandle und dann in dez und hex wiedergebe.
Als C-code konnte ich das schon realisieren aber nur da der Kompiler meine "arbeit" macht.

hat jmd ne idee, wie ich das in labview realisieren kann? Bahn

Hier der C-code, mit dem das super funktioniert:

// FLOAT CONVERTER konvertiert einen float wert in 4 byte

/* ganzzahlige Variablen deklarieren */
float startwert = 0;
char byte_1, byte_2, byte_3, byte_4;
int i,r;
char* pointer;

/* Eingabe */
printf("*** FLOAT-KONVERTER ***\n\n");
printf ("Float-Wert eingeben: ");
scanf ("%f", &startwert);
printf ("\nKonvertiert Float-Wert in 4 Byte Hex !!\n\n");
pointer = (char*)&startwert;
for (i = 1; i < 5; i++)
printf("Dezimal %d: %d \n", i, *pointer++);
printf ("\n");

printf("Lo -> Hi-Significance\n\n");

pointer = (char*)&startwert;
for (i = 1; i < 5; i++)
{
printf("Hex-Byte %d: %X \t invertiert %X \n", i, *pointer, ~*pointer);
pointer++;
}
printf ("\n");
Hallo,

meinst du sowas?
[attachment=37990]
Achtung: die Anzeigeelemente sind mit "Radix" versehen und und Anzeige "Decimal" bzw. "Hex" gestellt.
Wichtig hierbei ist auch welche Reihenfolge LabVIEW bei den Bytes macht, also was das "highest" Byte ist, und wie das "signed" verarbeitet wird.
Dann schau mal bei
Flatten To String
oder bei
Type Cast

Für Darstellung in HEX, Stringdarstellung auf HEX umschalten.

Gruß, Jens
hatte das auch schon ausprobiert.
bekomme aber immer andere Werte als im C-Programm raus.
versteh auch nicht so ganz wieso nicht bzw. was der compiler genau macht?

z.b. bei einem eingabewert von 0,1259

müssten folgende Dez-Werte raus kommen: -18 / -21 / 0 / 62
Wenn du auch in deinem C-Programm in I8 (und nicht wie eher üblich in U8) wandelst...

Aber bitteschön, hier direkte Wandlung nach I8, über die Byte-Order hat Erik schon was gesagt:

[attachment=37991]

Gruß, Jens
Danke Jens so einfach hätte ich es mir aber nicht vorgestellt.
Aber läuft und macht was es soll.
Danke Jens,

hätte ich mir auch denken müssen, dass man auch Arrays an das TypeCast-Teil dranhängen kann... Wieder was gelernt, danke dafür!
Gruß
Erik
Referenz-URLs