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 

runden IEEE-Standard



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.10.2012, 20:26
Beitrag #1

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
runden IEEE-Standard
Hallo,

   
   

Das finde ich inkonsequent. Wenn runden, dann bitte gleich.




Gruß dimitri

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.10.2012, 20:53 (Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2012 21:05 von jg.)
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: runden IEEE-Standard
Schau dir mal die deine 1.515 mit 16 Nachkommastellen an, dann steht da 1.5149999999999999, auf 2 Stellen im String gerundet gleich 1.51.

EDIT: Nach deiner Multiplikation mit 100 kommt 151.5 raus (nicht wundern, schließlich numerische Operation und Fließkommazahlen), das gibt dann nach deiner Rundung 152.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.10.2012, 21:23
Beitrag #3

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: runden IEEE-Standard
Ok - kapiert. (Blöd gelaufen.)

Dann sollte das round.vi auch einen Eingang "Genauigkeit" bekommen, damit mann nicht multiplizieren muss.


Danke Jens.
Gruß dimitri

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.10.2012, 06:21 (Dieser Beitrag wurde zuletzt bearbeitet: 19.10.2012 06:22 von Y-P.)
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: runden IEEE-Standard
Das wäre dann wieder was für den Idea Exchange bei NI. Big Grin
Meine Stimme hättest Du.

Gruß Markus

(18.10.2012 21:23 )dimitri84 schrieb:  Ok - kapiert. (Blöd gelaufen.)

Dann sollte das round.vi auch einen Eingang "Genauigkeit" bekommen, damit mann nicht multiplizieren muss.


Danke Jens.
Gruß dimitri

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.10.2012, 08:41
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: runden IEEE-Standard
Hallo Dimitri,

Zitat:Dann sollte das round.vi auch einen Eingang "Genauigkeit" bekommen, damit mann nicht multiplizieren muss.
Bitte nicht. Das ist eine nach IEEE-Standard vorgegebene Funktion und ich habe keine Lust, in einer Programmiersprache plötzlich Sonderwege gehen zu müssen, weil manche immer mal wieder die Limitierungen von FloatingPoint-Zahlen vergessen...

So eine Funktion kann man sich selbst schnell programmieren und in die user.lib legen. Oder man schaut bei OpenG nach, da gibt es sowas (glaube ich) auch schon länger!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.10.2012, 09:22 (Dieser Beitrag wurde zuletzt bearbeitet: 19.10.2012 09:29 von dimitri84.)
Beitrag #6

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: runden IEEE-Standard
(19.10.2012 08:41 )GerdW schrieb:  So eine Funktion kann man sich selbst schnell programmieren und in die user.lib legen. Oder man schaut bei OpenG nach, da gibt es sowas (glaube ich) auch schon länger!
OpenG ist an meinem Arbeitsplatz nicht praktikabel.

Dann bleibt mir nur der Umweg über die Stringfunktion um die Originalzahl zu runden?

Zitat:ich habe keine Lust, in einer Programmiersprache plötzlich Sonderwege gehen zu müssen
Einfach auf Null setzen und schon hat man seine alte Funkion. Hätte meine ich ...

Gruß dimitri

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.10.2012, 09:36 (Dieser Beitrag wurde zuletzt bearbeitet: 19.10.2012 09:39 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: runden IEEE-Standard
Hallo Dimitri,

- Die Stringfunktion rundet aber auch falsch, zumindest in deinem Bild oben. Das korrekte Ergebnis deiner Rundung lautet "1,52", zumindest nach IEEE ("bankers rounding").
- Das Ergebnis deiner Rechnung ("1,52000000000000002000") enthält auch wieder Rundungsfehler, da IEEE-Floats keine Zehnerbrüche darstellen können.
- Mit EXT sieht die Sache (zumindest bei deinem Beispielwert) anders/"korrekter" aus...

Mit Floats zu rechnen birgt immer Unsicherheiten. Die muss man kennen und in Kauf nehmen...

Abgesehen davon gibt es (glaube ich) in diesem Forum schon andere Threads, die sich mit Float-Rechengenauigkeit beschäftigen. Im NI-Forum auf alle Fälle auch!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.10.2012, 10:30
Beitrag #8

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: runden IEEE-Standard
(19.10.2012 09:36 )GerdW schrieb:  Abgesehen davon gibt es (glaube ich) in diesem Forum schon andere Threads, die sich mit Float-Rechengenauigkeit beschäftigen. Im NI-Forum auf alle Fälle auch!
Da hast du vollkommen recht. Mein Problem ist einfach, dass ich jetzt zwei unterschiedliche Varianten in meiner Applikation habe und ein Update ist nicht so trivial durchzuführen... Pech. Selber Schuld.


Gruß

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  LED-Anzeigeelement mit runden Ecken nixblicker 9 5.511 30.10.2020 09:23
Letzter Beitrag: Lucki
  Tastenkombination "aktuellen Wert als Standard" A.Limbach 2 3.780 05.12.2014 11:03
Letzter Beitrag: A.Limbach
  Silber-Schema als Standard bei DAQmx zig 5 5.160 26.08.2014 10:25
Letzter Beitrag: jg
  Dateien mit Windows-Standard-Programm öffnen DrHoas 5 6.025 17.09.2013 15:59
Letzter Beitrag: GerdW
  Strict TypeDef in Standard VI abändern Wendigo 6 7.115 12.12.2012 21:53
Letzter Beitrag: jg
  Eigenschaften des xy-Graphen als Standard setzen cuber1 5 5.170 22.11.2012 17:32
Letzter Beitrag: cuber1

Gehe zu: