po rade otazek, ktere se vyskytly na tema 2DU z PP tu konecne mame take par odpovedi
zde je neco malo, co jsem se dnes dozvedela:
1] konstant DUERR_NOK a DUERR_ERRS si zatim vsimat nemame
2] pri detekci malformed cisla, ktere je navic jeste moc velke (napr: 9999999999999aa) se nejdriv vypise ten warning "malformed" a pak take jeste warning "out of range" (tam je parametr uz jen ta ciselna cast, co je moc velka)
3] co je a co neni malformed cislo:
napr 1.2.3 je "1.2" "." "3" (takze zadne warningy, i kdyz tam z hlediska syntakticke analyzy tecka za cislem nema co delat)
v podstate jsou malformed cisla jen cisla, za ktera ja nalepene nejake pismenko(+ pripadne dalsi smrt cislic a pismenek)
4] realna cisla
=> ma se to chovat podle IEEE754
(http://en.wikipedia.org/wiki/IEEE_754#D ... ion_64_bit) ... no lidsky vzato: detekovat se bude preteceni (podteceni snad ani nemusime) a vystacime si pry se strtod nebo necim takovym.
prosila jsem, aby se v testovacich datech objevil priklad na preteceny real a jeho "obhospodareni", tak uvidime
pokud mate nekdo podrobnejsi odpovedi nebo odpovedi na dalsi (jine) otazky, tak je sem prosim taky doplnte
2DU - odpovedi
-
- Matfyz(ák|ačka) level III
- Příspěvky: 181
- Registrován: 24. 2. 2005 10:03
- Typ studia: Informatika Mgr.
- Login do SIS: reidj4am
- Kontaktovat uživatele:
moje odpovedi na muj mail
Dobry den,
On 11/3/06, josef Reidinger <josef.reidinger@seznam.cz> wrote:
> Dobry den, mam par dotazu k druhemu ukolu, ktere jsme si nerikali na
> cviceni(nebo jsem to prehledl).
> 1) integer v mlaskalu ma myt presnost jako unsigned int v Cecku nebo
> jako int kteremu se vezme znamenko (tedy o bit mensi)?
int ma 31bitu
> 2) Je podstatne jake cislo po preteceni da parser? tedy jestli muzu dat
> napriklad pri preteceni vzdy MAX_UINT (myslim ze na cviceni jsme si
> rikali, ze je to jedno, ale nejsem si jist) Pokud ano, tak jak presne se
> ma orezavat (po desetinnych mistech nebo binarne)
Pri preteceni je vysledkem spodnich 31 bitu, tj. 2^32 + 1 je 1.
> 3) Jestli vadi, kdyz pri parsovani na unixu se pri nezavrenem stringu u
> zdrojaku nechaneho v DOS formatu da na konec stringu co da parser jeste
> carriage return?
Jako konec radku povazujte proste
. Pokud IO knihovna na \r
vrati
skutecne \r
, pak je to znak \r a za nim konec radku.
> 4) jestli bych mohl vasi odpoved zverejnit na nasem foru?
Muzete.
Jiri Dokulil
Dobry den,
On 11/3/06, josef Reidinger <josef.reidinger@seznam.cz> wrote:
> Dobry den, mam par dotazu k druhemu ukolu, ktere jsme si nerikali na
> cviceni(nebo jsem to prehledl).
> 1) integer v mlaskalu ma myt presnost jako unsigned int v Cecku nebo
> jako int kteremu se vezme znamenko (tedy o bit mensi)?
int ma 31bitu
> 2) Je podstatne jake cislo po preteceni da parser? tedy jestli muzu dat
> napriklad pri preteceni vzdy MAX_UINT (myslim ze na cviceni jsme si
> rikali, ze je to jedno, ale nejsem si jist) Pokud ano, tak jak presne se
> ma orezavat (po desetinnych mistech nebo binarne)
Pri preteceni je vysledkem spodnich 31 bitu, tj. 2^32 + 1 je 1.
> 3) Jestli vadi, kdyz pri parsovani na unixu se pri nezavrenem stringu u
> zdrojaku nechaneho v DOS formatu da na konec stringu co da parser jeste
> carriage return?
Jako konec radku povazujte proste
. Pokud IO knihovna na \r
vrati
skutecne \r
, pak je to znak \r a za nim konec radku.
> 4) jestli bych mohl vasi odpoved zverejnit na nasem foru?
Muzete.
Jiri Dokulil
Don't worry, be dead
- xstyler
- Matfyz(ák|ačka) level II
- Příspěvky: 66
- Registrován: 29. 1. 2005 12:27
- Typ studia: Informatika Bc.
- Bydliště: EU
To si mam na to spravit vlastnu triedu extralong, alebo staci ak pouzijem 64-bitovy int?qk píše: > 2) Je podstatne jake cislo po preteceni da parser? tedy jestli muzu dat
> napriklad pri preteceni vzdy MAX_UINT (myslim ze na cviceni jsme si
> rikali, ze je to jedno, ale nejsem si jist) Pokud ano, tak jak presne se
> ma orezavat (po desetinnych mistech nebo binarne)
Pri preteceni je vysledkem spodnich 31 bitu, tj. 2^32 + 1 je 1.
- rastik
- Supermatfyz(ák|ačka)
- Příspěvky: 661
- Registrován: 19. 10. 2005 21:45
- Typ studia: Informatika Mgr.
- Login do SIS: wartr3am
- Bydliště: Praha
- Kontaktovat uživatele:
Re: 2DU - odpovedi
Diky za info. Vzhladom k tomu, ze "malformed" je error a "out of range" iba warning, dal som ich v opacnom poradi. Predpokladam, ze za to nebudu strhavat body, kedze to nebolo jasne definovane.Kate píše:2] pri detekci malformed cisla, ktere je navic jeste moc velke (napr: 9999999999999aa) se nejdriv vypise ten warning "malformed" a pak take jeste warning "out of range" (tam je parametr uz jen ta ciselna cast, co je moc velka)