![]() |
Hexadezimal oder Dezimal nach Binär - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Hexadezimal oder Dezimal nach Binär (/Thread-Hexadezimal-oder-Dezimal-nach-Binaer) Seiten: 1 2 |
Hexadezimal oder Dezimal nach Binär - mctommson - 26.08.2008 21:11 Ich krieg hier die Krise: Ich muss aus einem Hexadezimalstring die einzelnen Hexwerte in Binär umwandeln, auf alle Binärwerte ein Exclusiv-Oder anwenden und das Ergebnis wieder in einen Hexadezimalstring umwandeln. Der gehört dann an den Eingangs-Hexadezimalstring angehängt. Problem 1: Mein Eingangs-Hexadezimalstring hat folgenden Wert: Normale Anzeige: 110009873 ''-Code-Anzeige: _0411_020009873_03 (ohne _ ... das Forum löscht das sonst nur immer weg) Hexadezimalanzeige: 0431 3102 3030 3039 3837 3303 So...wie kann ich nun den Wert, der bei der Hexa-Anzeige angezeigt wird in einen String schreiben, sodass der bei "Normaler Anzeige" den Wert der Hexa-Anzeige beinhaltet? Ich will also dann einen String auf "Normale Anzeige" einstellen, der als Inhalt: 0431 3102 3030 3039 3837 3303 hat. Problem 2: Der Inhalt ist in seiner Länge dynamisch. Wie kann ich das am besten lösen, dass, wenn ich es irgendwie hinkriege die Werte richtig zu konvertieren, diese dann auch ALLE durch ein Exlusiv-Oder wandeln? Ich hab mal mit LV 8.5.1. ein VI erstellt. Der obere Teil ist die Umrechnung so wie sie sein sollte. Der untere Teil ist mein Versuch das ganze umzukonvertieren, dass klappt aber nicht da der Eingangsstring nicht wirklich die Hex-Werte beinhaltet sondern eben die Werte die oben bei "Normaler Anzeige" stehen. Das Ergebnis soll ungefähr so aussehen: Eingang (in Hex): 3030 3039 3837 3603 Ergebnis: 3030 3039 3837 3603 36 Wie? Eingang (in Hex) umwandeln in Binär Exclusiv-Oder auf alle Binären (Ergebnis von dem: 0011 0110) Umwandeln von 0011 0110 in 36 Danke euch! Lg, Tommy! Hexadezimal oder Dezimal nach Binär - jg - 26.08.2008 21:27 ![]() Dein String ist doch kein "HEX-String"! Ein Hex-String besteht nur aus den "Buchstaben" 0 bis 9 sowie A, B, C, D, E, F. Wenn ich richtig verstehe, willst du an den "ASCII-Code" jedes Buchstaben deines Strings kommen, dazu gibt es die Funktion "String To Byte Array". MfG, Jens EDIT: Mal sehen, ob ich bisher richtig verstanden habe, meine Lösung: [attachment=14165] wobei das Ergebnis 3030 3039 3837 3603 33 lautet (nicht 36 am Schluß, wie von dir gepostet). Hexadezimal oder Dezimal nach Binär - mctommson - 26.08.2008 22:12 ' schrieb: Stimmt, da gibts nen Fehler im Handbuch...hab das leider so übernommen! Da wird sowohl das ASCII Zeichen 3, als auch 6 mit 36 Hex dargestellt...das kann nicht sein ![]() Das funzt einwandfrei! Danke dir, Jens! Hexadezimal oder Dezimal nach Binär - Lucki - 27.08.2008 07:40 ' schrieb:<div align="left"> Habe mir die Antworten alle angesehen, es wurde inzwischen auch alles gesagt, vor allem aber auch das, wonach Du gar nicht gefragt hattest. In Deiner Frage ist ja gar nicht von Zahlen-Strings die Rede, nur von den Zahlen selbst, und da wäre die knappe Antwort: Die interne Darstellung der Zahlen ist immer binär, da gibt es nichts umzuwandeln. Was es gibt, das sind lediglich unterschiedliche Anzeigeoptionen einer Zahl, und zwar sind das: Bei Integerformat: Dezimal /Hex / Oktal / Binär / SI-Format. Bei Gleitkommaformat: Fließkomma / Wissenschaftlich / Automatisch / SI-Schreibweise. Hier außerdem weitere Optionen, z.B: Anzahl siginfikanter Stellen / Kommastellen, Unterdrückung von Nullen Die Umwandlung von Zahlenformaten gibt es allerdings auch, das ist aber etwas ganz anderes: Zahlenformate sind z.B I32, I16, I8, U32, DBL... (ich zähle 15 Formate). Amerkung: Bei der Recherche habe ich jetzt in 8.5 ein neues Fomat entdekckt: Festkomma. Muß mich mal damit beschäftigen.. |