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 

Wieso funktioniert das "=" nicht?



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!

18.03.2009, 08:38 (Dieser Beitrag wurde zuletzt bearbeitet: 18.03.2009 08:39 von rolfk.)
Beitrag #9

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Wieso funktioniert das "=" nicht?
' schrieb:Das ist mir auch klar. Nur entsteht die Zahl bei mir durch das Einlesen aus einem String. Und bei der String-Zahl Konvertierung habe ich genau zwei Nachkommastellen als Genauigkeit. Oder kann dort, auch wenn man es anders angibt, eine "krumme" Zahl, wie Du sie als Beispiel hattest entstehen?

Ja das kann! Um einen String in eine Zahl zu verwandeln muss man rechnen. Dezimalzahlen haben aber die unangenehme Eigenschaft dass sie die Basis 10 haben die sich leider im binären Format des Computers nicht exakt darstellen lässt, wenn man mit Nachkommastellen arbeitet. (Versuch mal 0.1 einzugeben und dann erweitere die Darstellung des Numeric Controls um 20 Stellen nach dem Komma zu zeigen!)

Also Du hast die Zahl 12.345 als String. Die String->Zahl Umwandlung macht dann ungefähr so etwas wie:

resultat = (((((1 * 10 + 2) * 10 + 3) * 10 + 4) * 10 + 5) / 1000

Das Ganze kann noch optimalisiert werden aber das Prinzip bleibt.

Es dürfte wohl deutlich sein dass bei solchen Berechnungen mit Fliesskommazahlen und Zahlen die nicht exakt Vielfache von 2 sind die Genauigkeit des Resultats "nur" im Rahmen der Basisgenauigkeit des Zahlentyps ist. Diese ist ungefähr 8 dezimale Stellen bei Single-Precision Floats und ungefähr 14 dezimale Stellen bei Double-Precision Floats.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Wieso funktioniert das "=" nicht? - rolfk - 18.03.2009 08:38

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Die Kommunikation mit dem VI funktioniert nicht Benutzer02 11 6.155 18.10.2021 09:25
Letzter Beitrag: TpunktN
Sad VI funktioniert und EXE nicht Mostro2502 21 9.554 17.06.2020 09:55
Letzter Beitrag: Mostro2502
  Inhalt einer Baumstruktur über Methodenknoten speichern funktioniert nicht... enone 2 3.890 10.05.2019 10:19
Letzter Beitrag: enone
  Schrittmotor Nema 17 per LabVIEW funktioniert nicht! TTT 5 6.252 27.04.2018 08:20
Letzter Beitrag: Freddy
  Formelknoten "funktioniert nicht" Peppiiii 8 5.991 18.04.2017 17:42
Letzter Beitrag: GerdW
  Code funktioniert als SubVI nicht mehr!?! Labview Newbie 4 6.004 14.05.2016 11:26
Letzter Beitrag: IchSelbst

Gehe zu: