Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.062 Beiträge
 
Delphi XE2 Professional
 
#26

AW: Probleme mit Trunc

  Alt 21. Apr 2018, 11:54
Dein Excelbeispiel ist genauso fehlerhaft, da dort ja nicht mit Pi gerechnet wird, sondern (wenn man Excel trauen darf) mit einer relativ guten Näherung.
Mein Excel-Beispiel ist richtig, auch wenn vielleicht die Rechnung sehr vereinfacht ist. Ich wollte nichts kompliziertes. Aber ich hab ein anderes Excel-Beispiel, einen Klassiker. Kennst du den Josephspfennig?

Die Geschichte geht so: stell dir vor Joseph, der Vater von Jesus, hat Jesus bei der Geburt eine Sparbuch bei einer Bank angelegt, und 1 Cent eingezahlt. Er hat damals 5% Zinsen vereinbart. Natürlich wurde nie Geld von dem Sparbuch abgehoben, so dass die Zinsen drauf blieben, und ein Teil des Vermögens auf dem Sparbuch wurden. Wie viel Geld ist heute, also 2018, auf dem Sparbuch?

Hier die Excel-Lösung: [... blah blah]
Deine erste Excel-Lösung ist wie gesagt falsch und Deine zweite ist völlig falsch! (Es ist schon irgendwie symptomatisch, daß Du hier immer mit Excel argumentierst, vielleicht bist Du im falschen Forum?) Abgesehen von der pseudo-didaktischen Kindergeschichte, hast Du natürlich den völlig falschen Algorithmus gewählt.

Ich weiß zwar nicht, wie Banken das Problem genau behandeln (wenn zB nach einem Jahr auf den nächsten Cent gerundet wird, kommst Du nie von Deinem 1 Cent runter), aber nehmen wir an, Du willst a=0.01*(1+0.05)^2018 ausrechnen.

Die Rechnung mit Maple und 30 Stellen ergibt a = 5.75447255534412876764885218574e40. Selbst die relative ungenaue math.power-Routine liefert Dir 5.75447255534412801e40 mit einem relativen Fehler von 0.13e-15. Wenn Du AMath benutzt, erhältst Du 5.75447255534412878e40 mit einem 60-fach kleineren Fehler von 0.21e-17.

Das Problem ist also nicht die Fließkommarechnung, sondern das, was zwischen den Ohren ist.
Hallo Gammatester:
Banken runden m.W. analog der Round-Funktion in Delphi (<0.5 --> abrunden, >0.5 --> aufrunden, =0.5 --> zur nächsten geraden Zahl runden).
Na klar bleibt von den Zinsen nach dem ersten Jahr nichts übrig, d.h. der Kontostand würde immer bei 1 Cent bleiben.
Zu den von dir gezeigten Ergebnissen von 0.01*(1+0.05)^2018
5.75447255534412876764885218574e40 Maple 29. (letzte) Stelle korrekt gerundet
5.75447255534412801e40 math.power, 16. Stelle falsch
5.75447255534412878e40 AMath 17. Stelle falsch
Genau: https://www.delphipraxis.net/134885-rechenprogramm.html
Code:
57544725553441287676488521857390212572917.8581289871900056863263866749390470682445466388192543716581
3791264388509806011194607299055615568247095709261438959969987853303090249863393890967034049436696648
4470056982611964241762183141559128773196204476992123036545219341489095474740988759777653826446932762
2108628818548513301095384743203155671753278505583073169090075499252542697208876565035975676590545885
8496077174373706494695600781474747664451818060352417378004382971135614401765338452439875680507150035
9368596952114022332636736921226969298701630767343398823003033150701187689626511602124552390051496805
2107975204109543474430485331870919737956387829176043987071190751977849704228795932278315703315744463
8631125238387187808330206608538726037301081415995528116814161912109213822486527893254951043739202653
2957514297187370022980093492894271067798728677022884195975749267431784072926206935830939576566694405
8617937363273714396281767744191902098912804646398100702694395085258728156645937294810568266314139786
3342608352904931917726869521328274394409234153052992118244659279456239816987627813672691673629900478
9785593430900393489591486219538739551215156776028382153063792864362049837459215274217616382785117690
1164720263607102314672828675090484759565254763416188290393285229225481036485880727579222754142111549
8449319217616991418421790834711500732970927494384559220791132696694870714123340148360175098990944059
6677872635566903082756021559511667245145743412617034242040731582562385776996847979967378072951274769
1691893139047930203766493384664571701658496476680289570499145249455333967689974263872912839316947499
2798298479389751962532260814609187356655660746834258978202568326396360097066541112082857999999434209
2799985145019174952944105067283941687546633862918360703697305717478371569835532778988805971647916718
7670376313477252156274761750472506507282940323421752542305029419855147073391201616164604752855501233
3358942206287530929457497133388436770961326902463463134166919157371725606875900184779419792938851442
2611973047385887982480549879877519966432457671492827271883245992931885442320458513780000949558844440
9994069187208056372543711781317984904741377239661464015467854337088525610142164963906346732107339987
7296686449077902418584187072572412085163066372849275784923326893294656002554969161958821776497613402
2056044467642775089205403885853325120945698240005252856454666978118732512792018076619250869122986266
2761681655040674982426128919064733227276729080831089036455037383167759117735304410328826660462308675
8184034626892247061206464376125823268598412796487787038403875387237735131838384228111070698022472869
3353789978468135052191121788435228712645083866230614347884322826432966534641972293826588386120289835
8493812082129044228055803829202718975713623082325637507984418885270082179358072418572859473820410783
4646242280879564485492377635671271638540682354133081918482639791948919406996852120804806905339419425
7413219187501404457171993600491400901150691615748324824190986962734365697878314561636424690156302307
1790409800398924084496789004204202150929008360798599576049918117317781918808504147308241183440889969
4251818036801510372607179626256579527718940033866164041876022339853333872120045905751751102803594637
7651867179414900108755204551532802046188111546317389406781316977429525771824512749445137597334189200
7125859789585948573515742822005202131230234096594304937749708888988319812399728076354315506969530615
9902321704594356779261066086192085628821261206912708977689956099492107741953266480013328709836820240
0001635050975581061135046672420511678587742225133556227503618542010717560854641298509970170001243617
6778851640271982788500123453040135731666664276591637767101408364728087962521198982074400260280243498
8554773057504900333524403291146242608245773293282941393624388306723580029740843370642577832930925288
7391929190921256874889885745216191310040156319540179720304640989851514978245736043593854722571768711
9623224605939376830131568753202372991162706244179928336115862515165584325848227684844822386611242771
82827656787512755714035699721820441899546028086120941225090064108371734619140625
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat