Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
11.04.2007, 15:37 (Dieser Beitrag wurde zuletzt bearbeitet: 11.04.2007 15:39 von Wiggi.)
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 ?
' 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.
11.04.2007, 17:20 (Dieser Beitrag wurde zuletzt bearbeitet: 11.04.2007 17:22 von maze.)
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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
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 überlesen)
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.
' 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:
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!