INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

6 stelligen Hex-String in Zahl konvertieren



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!

08.05.2006, 15:32
Beitrag #1

anhd Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: May 2006



kA



6 stelligen Hex-String in Zahl konvertieren
Hallo zusammen,

ich hab folgendes Problem bei der Konvertierung eines 6 stelligen Hex-Strings in eine Zahl:

Meine Schrittmotorsteuerung liefert mir die aktuelle Position für jede Achse in Form eines 6 stelligen Hex-Strings (= 3 Byte), welcher in 2er Komplementdarstellung formatiert ist.

D.h. ich erhalte z.B. den String FFFF9C, welcher -100 darstellen soll. Das "Hex-String nach Zahl" Vi interpretiert diesen String jedoch als 4 Byte und liefert somit einen hohen positiven Wert, anstatt der -100.

Ich bin jetzt ziemlich ratlos wie das zu lösen ist O_o

Hoffentlich weis von euch jmd weiter (:

mfg

Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2006, 16:08
Beitrag #2

oppossom Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 151
Registriert seit: Mar 2006

6.1:7.0
2003
kA


Oesterreich
6 stelligen Hex-String in Zahl konvertieren
Hab schnell was gebastelt...

Kann durchaus sein, dass es da einen eleganteren Weg gibt, aber so funktioniert es zumindest malWink

Lg Stefan


Angehängte Datei(en)
Sonstige .vi  komplement.vi (Größe: 19,69 KB / Downloads: 379)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2006, 19:03
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
6 stelligen Hex-String in Zahl konvertieren
Oder so..


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.05.2006, 10:33
Beitrag #4

anhd Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: May 2006



kA



6 stelligen Hex-String in Zahl konvertieren
Hallo,

vielen Dank euch beiden für die schnelle Antwort.

Als ich die beiden Antworten heute morgen gelesen hab, war mit Lucki´s Variante direkt symphatisch. Bei näherem hinsehen wurde jedoch klar, dass die Sache zwar für das von mir gegebene beispiel FFFF9C den richtigen Werte liefert, jedoch nicht für größere negative Zahlen, wie z.B. 80 00 00. Grundhierfür ist wohl der Typecast auf 16bit Int - der Zahlenbereich muss jedoch mindestens 24 Bit umfassen.

Die Variante von oppossom lieferte jedoch das gleiche, falsche ergebnis. Ich konnte es jedoch so umbauen dass es jetzt funktioniert. DankeSmile

(Ich musste das Bool-Array zunächst auf 24 Werte kürzen, und dann vor dem x*2^n vi einen Typecast auf 32 bit einfügen, weil die Bool zu 0,1 Funktion einen 16 Bit Int liefert und das x*2^n VI dann ebenfalls auf 16 Bit beschränkt war)

Das geänderte VI gibts im Anhang

Gruß und Dank

Andreas


Angehängte Datei(en)
Sonstige .vi  3byte_hexstring_nach_dezimal__zweierkomplement_.vi (Größe: 25,48 KB / Downloads: 297)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.05.2006, 11:28
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
6 stelligen Hex-String in Zahl konvertieren
Ja, ich hatte nicht beachtet, daß es sich bei deinem 24 Bit Integer um ein Format handelt, welches es in LabVIEW gar nicht gibt. Also hier die korrigierte Fassung:
(Erläuterung: Wenn das MSB =1 ist, dann ist die Zahl negativ. Damit das MSB der 24bit-Zahl zum MSB einer 32bit-Zahl wird, multipliziere ich mit 256 und konvertiere von U32 nach I32. Dann mache ich die Multipklikation wieder rückkgängig)


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.05.2006, 12:37
Beitrag #6

anhd Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: May 2006



kA



6 stelligen Hex-String in Zahl konvertieren
hmm, erstaunlich (:

Das is ja nochmal ein gutes Stück kürzer, werd mir das nachher nochmal anguggen.

Thx.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  String in Cluster konvertieren TpunktN 3 3.478 01.04.2021 15:44
Letzter Beitrag: TpunktN
  String nach Enum konvertieren NoWay 2 4.856 20.08.2019 10:58
Letzter Beitrag: NoWay
  Dezimal-String nach Zahl Funktion ares2013 4 5.053 10.04.2019 13:12
Letzter Beitrag: jg
  String to Zahl. Leerzeile 911tom 7 5.199 21.11.2017 11:15
Letzter Beitrag: Lucki
  String in Zahl/ Zahl in String mit Type Cast Jann 6 6.183 18.01.2016 09:02
Letzter Beitrag: Jann
  Problem mit Zahl zu Hex String Bishop 7 6.884 16.06.2015 13:51
Letzter Beitrag: Bishop

Gehe zu: