LabVIEWForum.de
96-Bit Zahl darstellen? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: 96-Bit Zahl darstellen? (/Thread-96-Bit-Zahl-darstellen)



96-Bit Zahl darstellen? - Msengxxl - 10.06.2013 14:27

Hallo,

ich wusste nicht, in welches Forum das jetzt gehört, deshalb versuch ich's mal hier:

ich bekomme aus einer Schnittstelle ein 32-Bit Array mit 3 Werten.
Diese drei Werte stellen eine sog. UID dar welche eine 96-Bit Zahl sein soll.

Da es jedoch keinen 96-Bit Datentyp gibt, muss ich die Zahl irgendwie als String zusammensetzen.
Ein einfaches "in String umwandeln und dann aneinanderhängen" funktioniert nicht, da es ja nicht mehr einer "echten" 96-Bit Zahl entspricht.

Hat hier jemand ne Idee?

Vielen Dank


RE: 96-Bit Zahl darstellen? - Y-P - 10.06.2013 14:40

Wie sehen die Daten aus und wie willst Du sie weiterverwenden?

Gruß Markus


RE: 96-Bit Zahl darstellen? - jg - 10.06.2013 15:20

Jede der 3 32-bit-Zahlen in einen Hex-String wandeln, dann aneinanderhängen und die UID dann als Hex-Wert anzeigen!?

Oder die UID so ähnlich wie eine IP4-Adresse anzeigen, das ist ja auch nur eine andere Darstellung einer U32-Zahl.

Gruß, Jens


RE: 96-Bit Zahl darstellen? - Lucki - 10.06.2013 22:18

Ich gehe mal davon aus, dass Du die 96-bit-Zahl ganz normal als Dezimalzahl sehen möchtest.
Labview kann mit diesem Format nicht umgehen, deshalb Deine Frage.
Es wäre aber ganz leicht, rein manuell, mit Zettel und Bleistifft, mittels fortlaufender schriftlicher Division durch 10 und Aneinanderreihung der Reste zu einer Zeichenkette die Zahl zu berechnen.
Und statt manuell kann man das natürlich auch mit Labview machen:
[attachment=44954]
[attachment=44953]

Edit2:
Die obige Lösung hat noch einen Schönheitsfehler: Sie ist nicht skalierbar. D.h., sie konveriert, wie verlangt, 3x32 = 96 Bit in eine einzige große Dezimalzahl. Ein "richtiger" Programmierer wird aber hier gleich Nägel mit Köpfen machen wollen. Das Vi sollte mit Arrays von Nx32Bit für beliebige Anzahl N funktionieren. Hier die bessere Lösung:

[attachment=44969]

[attachment=44968]