![]() |
float wert in 4 byte konvertieren - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: float wert in 4 byte konvertieren (/Thread-float-wert-in-4-byte-konvertieren) |
float wert in 4 byte konvertieren - könnes - 06.01.2012 10:22 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? ![]() 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"); RE: float wert in 4 byte konvertieren - eb - 06.01.2012 11:13 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. RE: float wert in 4 byte konvertieren - jg - 06.01.2012 11:15 Dann schau mal bei Flatten To String oder bei Type Cast Für Darstellung in HEX, Stringdarstellung auf HEX umschalten. Gruß, Jens RE: float wert in 4 byte konvertieren - könnes - 06.01.2012 11:48 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 RE: float wert in 4 byte konvertieren - jg - 06.01.2012 12:38 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 RE: float wert in 4 byte konvertieren - könnes - 06.01.2012 12:47 Danke Jens so einfach hätte ich es mir aber nicht vorgestellt. Aber läuft und macht was es soll. RE: float wert in 4 byte konvertieren - eb - 06.01.2012 13:11 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 |