LabVIEWForum.de - Hex String paarweise umkehren

LabVIEWForum.de

Normale Version: Hex String paarweise umkehren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3

Prama

Hallo,


Ich habe ein Problem bei der Sortierung eines Strings. Ich muss den String paarweise umkehren.

Beispiel: D34AA740 in 40A74AD3

Ich lasse die Zahlenfolge in der Normalanzeige anzeigen und möchte die Umkehrung auch in der Normalanzeige angegeben haben.
Die Länge der Strings ist mit 8 Zeichen stets konstant.


Habt ihr eine Idee, wie man das machen könnte?


Danke.


Prama
ich musste ein bisschen rumraten, welcher der Anschlüsse verkabelt werden muss, aber in etwa so:

Prama

Hi Kasi


Danke für deine Antwort. Wie heissen diese Blockelemente zum Vertauschen der Paare. Ich habe auch 2009 und finde die nicht.


Prama
Du kannst das von mir gezeigte 2009er-Snippet speichern und die png dann direkt per drag-n-drop ins Blockdiagramm einfügen.
Ansonsten dienen diese Elemente nicht zum vertauschen, sondern zum "aufdröseln" von Arrays (jedes x-te Element des Arrays in ein separates Array).
Zu finden in der Array-Palette als "decimate 1D Array" bzw. "interleave 1D Array" (deutsche Namen sind mir nicht geläufig, etwa Mitte der vierten Zeile)

Prama

Hallo Kasi


Danke für dein Tipp. Ich habe dein Ratschlag befolgt und erhalte bei verschiedener Verkabelung der Elemente nicht die Umkehrung, die Ich gerne haben möchte. Hat das bei Dir geklappt, so wie in meinem Beispiel?
Wenn man die Zeichen in Paare zusammenfasst und dann vertauscht ginge das wahrscheinlich. Weiss Du, wie man Zeichen zusammenfasst?


Prama

Prama

Hallo,


Ich habe versucht den Strin in einzelne Zeichen zu zerlegen und diese einzelnen Zeichen in einer bestimmten Reihenfolge zusammenfügen. Die Zerlegung habe Ich schon gemacht, nur die geordnete Zusammenführung habe Ich noch nicht. Wie könnte man das machen (sind jeweils 8 einzelne Zeichen)?


Prama
Ich würde das so machen:
[attachment=43750]

Prama

Hallo Ludwig


Danke für dein Lösungsvorschlag. Bei mir hat das leider nicht funktioniert.
Daher habe ich das ein wenig anders gemacht.


Ich habe eine weitere Frage:


Den umgeschriebenen Wert möchte Ich gerne (in der Normalanzeige) in float Zahl umwandeln. Ich habe im Forum einige VI's dazu gesehen, nur bei denen muss man die Hexa-Zahl in Hexadezimalanzeige ageben. Bei mir ist es aber in der Normalanzeige und sollte auch so bleiben. Kann man dann den Wert "40A74AD3" so eingeben und in float konvertieren?


Prama
(28.02.2013 16:23 )Prama schrieb: [ -> ]Hallo Ludwig.
Bei mir hat das leider nicht funktioniert.

Mit LV 9 funktioniert es garantiert. Entweder Du machst etwas falsch - obwohl das bei der Einfachheit das Codes fast nicht möglich ist -, oder Du bist aus nicht nachvollziebaren Gründen süchtig nach 10 mal so kompliziertem Code, oder auf eine "Eigene kreative Lösung" um jeden Preis.Big Grin

Bei der Umwandlung von Float-Zahl in String hat man das Problem, dass da manchmal selbst ausgedachte Formate statt der genormten Formats nach IEEE für einfache (4 Byte) und doppelte (8 Byte) Genauigkeit verwendet werden. Du hätttest wenigsten sagen können, welche Gleitzahl im Beispiel rauskommen muss.
Normal würde es so gehen:
[attachment=43758]

Edit: Die Umwandlung in SGL funktioniert so nicht, richtige Löungen siehe #11 (Jens)

Prama

Hallo Ludwig,


danke für deine Ratschläge.

Meine Version von deinem Stringvertausch vertauscht die Zeichen nur Hex Schreibweise blockweise aber nicht in Nomalanzeige.


die float-zahl für mein obiges Beispiel 40A74AD3 sollte 5.227884 ergeben. Die Konvertierung in deiner Schreibweise habe Ich schon vorher ausprobiert und funktioniert. Aber ich möchte es gerne als 5.227884 angezeigt bekommen. Was müsste ich da bei der Einstellung verändern?


Prama
Seiten: 1 2 3
Referenz-URLs