( persicsb | 2013. 01. 21., h – 09:12 )

Poliverzum, a gépeken nincs olyan, hogy végtelen tizedes tört, minden konkrét mennyiség véges (kivéve az +Inf, -Inf konstansokat, amik a végtelent reprezentáló értékek).

" se azt nem tudom mi az a FYI, se azt mi az az IEEE754. Tudom, utánanézhetnék mert gúgli a barátom, de annyira nem érdekel."
Ha fogalmatlan vagy, akkor miért pofázol bele?

" Mindenesetre abban eléggé biztos vagyok, hogy ennek arra vezethető vissza az oka, hogy tizes számrendszer beli számokat kettes számrendszerben ábrázolnak, plusz még gondolom bekever az is, hogy valami lebegőpontos bizbasszal bonyolítják az ügyet. Igazad van, ilyesmi volt a C-64 esetében is, jól emlékszem rá"
Nem bizbasz, hanem számábrázolás. És nem azért van a dolog, mert tízes helyett kettesben ábrázolunk, hanem azért, mert a számábrázolás véges. Végtelen memóriával minden számot pontosan lehet ábrázolni. Véges memóriával, akármilyen számrendszer az ábrázolás alapja (kettes, tízes) mindig lesz olyan szám, amit nem lehet pontosan ábrázolni.

"mintha a C vagy C++ -nak volna efféle számábrázolási formátuma és ehhez való függvényei, csak most nem ugrik be ennek a neve."
Ha tudnád, mi az IEEE 754, akkor tudnád azt is, hogy ez nyelvfüggetlen dolog, és a processzor valósítja meg.

"Ha 40 ezer Ft-tal kapok kevesebb zsét, én úgy éljek reklamálok de azonnal! "
Ha tudnád, mi az a szoftverfejlesztés, tudnád, hogy pénzügyi adatot sosem tárolunk lebegőpontos számban, erre való a fixpontos ábrázolás.

"De ha ez a bug mondjuk akkor jön elő amikor egy híd támpilléreit tervezik, ugye teherbírás szempontjából, akkor még cifrább dolgok is megeshetnek."
Látszik, fogalmad sincs arról, hogy az IEEE 754 milyen pontosságot tud adni, és a valós mérnöki problémákban mekkora pontosság szükséges. Másrészt nem, nem eshetnek meg, több okból sem: 1. az építőiparban a terhelési számítások jelentősen túl vannak számolvan (3-4x akkora terhet is elbírnak az épületek a valóságban, mint a névleges terhelés), példáult azért, mert nem lehet a jövőbeli felhasználásokat pontosan megbecsülni. Ezen kívül a statikai számításokat az építkezésben részt vevő független szakértők ellenőrzik (google: statikai tervellenőrzés).

"Ilyesminek egyszerűen nem szabad bekövetkeznie egy jól megírt szoftverben"
Ha értenéd a számtástechnikai alapjait (számábrázolások, relatív és abszolút hibák, precizitás és pontosság különbsége), akkor tudnád, hogy akárhogyan ábrázolunk számokat, mindig lesz olyan szám, ami nem ábrázolható pontosan. Mellesleg még nézz utána annak a fogalomnak, hogy numerikus stabilitás.

"De ez semmiképp sem megengedhető. Ekkora eltérés nem."
Ennél nagyobb eltérések is vannak a számábrázolás miatt bizonyos műveletek numerikusan kiszámolt értékei és a matematikailag pontos érték között.

Olvass már el egy numerikus matematika könyvet, légyszíves. Azután legyél arrogáns ennyire a numerikus számításokkal szemben.

És azt is jegyezd meg, hogy az Excel nem számoló szoftver, hanem egy táblázatkezelő.
Számoló szoftver pl. a Mathematica, a Maple, a Matlab, az Octave, a Maxima és sok más. Azok támogatnak is olyan számábrázolást, ahol a pontosságot csak a rendelkezésre álló memória mérete korlátozza. Természetesne ezek a számábrázolások jóval lassabbak is, mint a hardverből támogatott IEEE 754.

Szerk. Pár elgépelést javítottam.