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 

Fragen zur Funktion "Typenformung"



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!

01.11.2007, 00:22 (Dieser Beitrag wurde zuletzt bearbeitet: 03.12.2007 21:21 von jg.)
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
Fragen zur Funktion "Typenformung"
' schrieb:Weiß jemand genau wie diese Funktion "Typenformung" arbeitet und wozu diese eigentlich da ist? Muss doch nen bestimmten Grund haben?
Z.b. ist es einleuchtend das wenn vor der Funktion ein U8-Integer angeschlossen wir und den Eingang "Typ" offen lässt, man die Zahl in ASCII-Code in einem String zurückbekommt. Ist ja auch klar, denn ein String ist ja nichts anderes als ein Array von Zahlen welche dann in ASCII umgesetzt werden. So ist doch z.b. ein string welcher folgerdermaßen aussieht
|abcde| nichts anderes als ein Array von Zahlen |97|98|99|100|101| in ASCII-Darstellung. Und deshalb erhält man den ASCII Code in einem String wenn man vor der Funktion ein Array of U8-Integer anschließt. ABER wenn man nun ein DBL-Array anschließt so bekommt man nur wirres Zeug raus.
Hat nicht jemand dafür ein sinnvolles Beispiel wofür diese Funktion gut ist?

Ich würde es so erklären:
Ein "Typ" (Also z.B ein Integer I16) besteht immer aus 2 Abschnitten: "Typbeschreibung" und "Daten". Die "Daten" sind letztlich immmer eine zusammenhängende Folge von Bytes. Mit der "Typenformung" ist es möglich, den Daten eines gegebenen Typs eine andere Typbeschreibung unterzuschieben, ohne die Daten selbst zu verändern.
Beispiel: Gegeben: Array of Bytes U8. Länge 12. Typgewandelt nach Array of U32 ergibt sich ein Array of U32 der Länge 3.
Da die Daten überhaupt nicht angerührt werden, ist die Typformung eine sehr schnelle Methode, schneller als die "offiziellen" Werkzeuge, die man in jedem Falle auch benutzen könnte. Die Typenwandlung sollten nur genügend erfahrene Anwender mit der gebotenen Vorsicht benutzen, da es leicht zu unerwarteten Ergebnissen kommen kann.
Wir beispielsweise ein einzelnes Byte U8 in eine Gleitkommenzahl gewandelt, dann ist das Nonsens, da die erforderlichen Anzahl von Bytes, aus denen sich die Zahl zusammensetzt, gar nicht vorhanden ist

Das Beispiel von Eugen ist schon so etwas wie die höhere Schule und bedarf vielleicht noch einer Erklärung.
Aufgabe: Es soll ein Array von 1000 Gleitkommazahlen (double) in eine Datei im Textformat abgespeichert werden.
Offizielle Methode:
Dei Zahlen werden einzeln mit der Funktion "Zahl nach String" konvertiert und dann als einspaltige Tabelle im Textformat gespeichert.
Methode Eugen:
Der ganze Array wird typgewandelt in String. Es entsteht ein Textsalat mit allen vorkommenden ASCII-Zeichen von 0..255, den zwar kein Mensch mehr interpretieren kann, den man aber im Format Text abspeichern kann. Das Einzige, worauf es letztlich hier ankam, war nicht die Lesbarkeit des Textes für einen menschlichen Betrachter, sondern daß man den Text, wenn er wieder eingelesen wird, wieder in das ursprüngliche Zahlenarray konvertieren kann. Und das geschieht wieder mit der Funktion "Typformung", nur in umgekehrter Richtung, also von Text nach Array of Double.
(Kritisch würde ich hier allerdings anmerken: Wenn es nicht darauf ankommt, das was abgespeichert wird lesen und editieren zu können, warum wird dann nicht einfach im Binärformat abgespeichert?)

Und hier noch das gewünschte "sinnvolle" Beispiel. Aber wie gesagt, die Typformung ist immer irgendwie ersetzbar, so auch hier. Hier geht es um die Konvertierung von 4 bytes nach 2* Integer U16
   

(VI LV 8.2)


Angehängte Datei(en)
Sonstige .vi  Zahlen_verbinden.vi (Größe: 10,81 KB / Downloads: 196)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Fragen zur Funktion "Typenformung" - eg - 31.10.2007, 11:40
Fragen zur Funktion "Typenformung" - eg - 31.10.2007, 13:37
Fragen zur Funktion "Typenformung" - Lucki - 01.11.2007 00:22

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Fragen zu PID Regler belu003 3 6.363 18.08.2010 17:50
Letzter Beitrag: Lucki
  Newbie-Fragen zur GUI Tito 3 5.157 18.06.2010 10:45
Letzter Beitrag: GerdW
  Fragen zum Buch Aisling 9 8.795 22.08.2009 11:10
Letzter Beitrag: Aisling
  Allgemeine Fragen kcccp 9 7.152 03.07.2009 07:17
Letzter Beitrag: kcccp
  3 Newbie-Fragen =) piWa 3 4.412 31.07.2008 10:00
Letzter Beitrag: piWa
  Fragen zur Benutzeroberfäche Mitch 3 4.143 29.07.2008 16:00
Letzter Beitrag: Mitch

Gehe zu: