Názor k článku Ruby v příkladech (2) - Složitější skripty od Pavel Tišnovský - Ano, o tom, že se čísla chovají v...

  • Článek je starý, nové názory již nelze přidávat.
  • 15. 9. 2005 10:22

    Pavel Tišnovský
    Zlatý podporovatel
    Ano, o tom, že se čísla chovají v Ruby jako objekty vím a je to věc, která dost zjednodušuje psaní programů. S Fixnum a Bignum je mi to už jasné, tady by problémy nastávat neměly.

    Horší to asi bude s těmi floaty. Pokud se to například na architektuře x86 reprezentuje v dvojité přesnosti (ale i v EXTENDED), tak to právě pro "normální život" někdy nestačí, například pro účetnictví. Tady nejde ani tak o přesnosti, jako o problémy s kumulací chyb a nesprávné zaokrouhlování (já vím, že to dá v koprocesoru nastavit, ale programovací jazyky to nevyužívají, resp. si vybírají zrovna tu horší variantu :-). Proto se používá buď speciální datový typ pro měnu (například ve VB currency) nebo celočíselné výpočty s pevně posunutou řádovou tečkou/čárkou (fixed point).

    jen tak na okraj: ty hodnoty jsou většinou uložené s plovoucí dvojkovou čárkou, ne desetinou - právě z toho vychází ty chyby, například nelze přesně zapsat "10 haléřů". I když například osmibitová Atárka to tuším pro potřeby BASICu a ROMových FP rutin reprezentovaly právě s desítkovým exponentem :-)