LabVIEWForum.de
String formatierung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: String formatierung (/Thread-String-formatierung)



String formatierung - Wiggi - 11.04.2007 15:37

Hi Leute,


Ich kämpfe hier gerade mit einem String den ich in Binärform ändern musste..
alles kein Problem, bis auf das ich einige Nullen verliere.

Beispiel..
Ich möchte den String FD06 umwandeln.
dann bekomm ich bei meinem VI:
F........D......6
1111 1101 110


Ich habe versucht den Formastring wie in der Hilfe beshrieben entsprechend zu formatieren, aber es gelingt mir nur, dass er Leerzeichen macht, anstatt Nullen aufzufüllen.

Könnt ihr mir kurz schreiben wie ich den Formatsting ändern muss ?

Danke schonmal im Vorraus


String formatierung - eg - 11.04.2007 15:42

Screibe mal eine %.04b statt %.4b hin.

Eugen


String formatierung - eg - 11.04.2007 15:50

Habe gerade dein Screenshot nachgebaut, ich glaube es stimmt nicht was du sagst. Ich bekomme 1111 1101 0000 0110 mit deiner Formattierung.

Eugen


String formatierung - Wiggi - 11.04.2007 16:04

' schrieb:Habe gerade dein Screenshot nachgebaut, ich glaube es stimmt nicht was du sagst. Ich bekomme 1111 1101 0000 0110 mit deiner Formattierung.

Eugen
Hi Eugen..

Danke erstmal das du dir das so genau angeshaut hast.

Das Problem bei dem ganzen ist, das ich eine String habe der vom Wertebereich zu groß ist um ihn in einem Durchgang abzuarbeiten. (Nimmt man nur FD06 ist die möglich)

Ich zerteile daher den String in 2er-Gruppen und wandle ihn dann in den Binärcode um.
Immer wenn eine das erste Bit eines eingelesenen Strings zu klein ist gehen die Nullen verloren. Ich könnte im Notfall auch so viele Nullen davor hängen bis es ein vielfaches von 4 ist, aber es geht doch sicher auf über die Formatierung, oder?

Ich habe mein Vi mal angehängt.


String formatierung - maze - 11.04.2007 17:20

mach mal aus der 12 bei deiner aufteilung ne 6, ich glaub dann gehts!
der string hat ja nur die länge 10, da hilft dir 12 nicht weiter.


String formatierung - jg - 11.04.2007 17:34

Hallo,

anbei ein Screenshot aus der LabVIEW Hilfe:

[attachment=6102]

Wenn ich richtig verstehe, dann willst du führende Nullen haben, also z.B. Hex 1 wird zu binär 0001?

Dann muß der Format-Specifier %04b lauten! Und wenn du jede Hex-Zahl einzeln umwandeln willst, dann muß statt der 12 sogar eine 1 hin!!

Zumindest mit diesen beiden Modifikationen wird dann bei mir aus FD06 als Ausgabe 1111 1010 0000 0110 (Leerzeichen nur zur Übersichtlichkeit eingefügt).

MfG, Jens


String formatierung - Wiggi - 12.04.2007 11:52

' schrieb:Hallo,

anbei ein Screenshot aus der LabVIEW Hilfe:

[attachment=32657:Namenlos.png]

Wenn ich richtig verstehe, dann willst du führende Nullen haben, also z.B. Hex 1 wird zu binär 0001?

Dann muß der Format-Specifier %04b lauten! Und wenn du jede Hex-Zahl einzeln umwandeln willst, dann muß statt der 12 sogar eine 1 hin!!

Zumindest mit diesen beiden Modifikationen wird dann bei mir aus FD06 als Ausgabe 1111 1010 0000 0110 (Leerzeichen nur zur Übersichtlichkeit eingefügt).

MfG, Jens

Hi Jens,

Ich habe den String entsprechend deiner Angabe geändert...
(und diesmal habe ich auch nichts überlesenSmile)
Gibt man nur FD06 ein kommt das gewünschte Ergebniss heraus. Gebe ich allerdings einen längeren String ein habe ich das alte Problem.

Ich habe nun das ganze wie ich es gestern schon beschrieben hatte realisiert. Ich vergleiche die Anzahl der Bits pro Zeichen und fülle das ganze dann mit Nullen auf.
Bestimmt nicht die eleganteste Lösung...
aber sie funktioniert.

wiedermal vielen dank für deine HilfeSmile


String formatierung - Wiggi - 12.04.2007 11:55

' schrieb:mach mal aus der 12 bei deiner aufteilung ne 6, ich glaub dann gehts!
der string hat ja nur die länge 10, da hilft dir 12 nicht weiter.


Hi Maze...

Die 12 war nur durch Testzwecke entstanden..
Ich lese die Zeichen nun einzen ein und werte sie dann aus.


String formatierung - jg - 12.04.2007 18:42

' schrieb:Gibt man nur FD06 ein kommt das gewünschte Ergebniss heraus. Gebe ich allerdings einen längeren String ein habe ich das alte Problem.

Hallo, Wiggi,
verstehe ich nicht.
Wenn ich (bei meinem LV8.20) wie gesagt die 12 durch eine 1 ersetze, wird auch dein 10-buchstabiger Teststring einwandfrei bearbeitet:

[attachment=6122]

MfG, Jens