Posted By: Jovo () on 'CZprogram'
Title:     Ad: Problemy s floaty
Date:      Wed May  8 14:41:38 2002

Ahoj.

  Ja uz jsem tu jednou zadal o pomoc s podtekanim, zaokrouhlovanim a podobne. 
Pokud mas specialni pripad, coz je pouziti napriklad casu, meny (penez) a 
podobne, tak nelez do float/decimal/extended.
  Napis si vlastni objekt, ktery bude mit neco jako

int koruny, halire;

  Pokud potrebujes ciste non-object veci, pak neni jina moznost nez to 
nahradit typedef struct + spoustou samostatnych funkci. Na druhou stranu 
pokud to udelas bez objektu, pak se objekt da vytvorit jedna basen :-)  Neco
podobneho jsem uz 2x delal.

  Ja vzdycky, kdyz mam nejaky problem, tak se ho snazim ze svych zdrojaku 
vyhnat tim, ze ho 'vyvezu' mimo (unita, objekt, knihovna). To ma tu vyhodu, 
ze jakmile se objevi nejaky problem, pak to opravujes jen na jednom miste. 
Napriklad v tvem pripade by ti nemusel typ INT stacit. To se da vyresit 
pridanim dalsiho INTu, treba ve stylu

int nad_miliardy, miliardy, miliony, tisice, halire, setiny_haliru;

No a pokud te ani tohle neuspokoji (nejaky blbecek prijde s tim, ze chce 
triliony :), pak doporucuji prejit na aritmetiku reprezentovanou stringy. 
Treba 123456 nebude int ale char[]. Sice se aritmetika strasne zpomali a 
cisla zaberou obrovsky prostor, ale navic ziskas jednoduchou zpracovatelnost 
(muzes na ne postvat scripty - perl a podobne), absolutni kontrolu a 
nemoznost podteceni/preteceni.

  Existuji implementace desetinnych cisel pres celociselne typy - onehda jsem 
si prohlizel zdrojaky Allegra (http://www.talula.demon.co.uk/) a pokud hledas 
inspiraci nebo zaklady implementace, pak se mrkni tam.


Jovo.
PS: Zkusil jsem hledat nejakou knihovnu, co ma string-based aritmetiku, ale 
    ani po 10 minutach googleovani jsem nic pouzitelneho nenasel. Nevite nekdo
    kde by se podobny soft dal stahnout?  Zrovna ho nepotrebuju, ale jeden 
    nikdy nevi :-) 
 

Search the boards