18.10.2012, 20:26
Beitrag #1
|
|
|
18.10.2012, 20:53
(Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2012 21:05 von jg.)
Beitrag #2
|
jg
CLA & CLED
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.
|
|
|
18.10.2012, 21:23
Beitrag #3
|
|
|
19.10.2012, 06:21
(Dieser Beitrag wurde zuletzt bearbeitet: 19.10.2012 06:22 von Y-P.)
Beitrag #4
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
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.
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 !!
--------------------------------------------------------------------------
|
|
|
19.10.2012, 08:41
Beitrag #5
|
GerdW
______________
Beiträge: 17.465
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!
|
|
|
19.10.2012, 09:22
(Dieser Beitrag wurde zuletzt bearbeitet: 19.10.2012 09:29 von dimitri84.)
Beitrag #6
|
dimitri84
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)
|
|
|
19.10.2012, 09:36
(Dieser Beitrag wurde zuletzt bearbeitet: 19.10.2012 09:39 von GerdW.)
Beitrag #7
|
GerdW
______________
Beiträge: 17.465
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!
|
|
|
19.10.2012, 10:30
Beitrag #8
|
|
|
| |