Kirjoittaja |
Viesti |
JPQ
| Tiistaina, 8. helmikuuta, 2005 - klo 8.44: | | Onko mitään kirjasto ja alusta riippumatonta tapaa saada luvun desimaali osa käyttöönsä. Olen keksinyt idean jonka osaanen toteuttaa ansi c kirjastolla mutta homman realiaikaisuus vaatimukset huomioiden yritän löytää nopeimman tavan. PS. softasynien on hyvä reagoida nopeasti eikö?
|
jap
| Tiistaina, 8. helmikuuta, 2005 - klo 10.13: | | Miten olisi tämmöinen ratkaisu: double fLuku; /* Tässä alkuperäinen des. luku */ double fApu; long int lDesimaalit; /* Tähän desimaaliosa */ /* Poistetaan desimaaliluvusta vasen puoli */ fApu = fLuku - (double)(long int)fLuku; /* Otetaan 2 desimaalia */ lDesimaalit = (long int)(fApu * 100); Jos haet nopeutta, niin silloin kannattanee käyttää laskennassa kokonaislukuja.
|
antime
| Tiistaina, 8. helmikuuta, 2005 - klo 10.43: | | Modf-kirjastofunktio osannee tehdä tuon desimaaliosan erottamisen nopeimmalla mahdollisella tavalla (jos esim. löytyy suora konekäsky).
|
itix
| Tiistaina, 8. helmikuuta, 2005 - klo 10.45: | | Tai lyhyemmin fluku %= 1.0;
|
JPQ
| Tiistaina, 8. helmikuuta, 2005 - klo 13.30: | | jap: eräitä asioita ei voi kokonais luvuin toteuttaa. saakos koodisi kaikki desimaalit vai täytyykö jollain tavalla päättää se montako desimaalia taltioidaan ? PS. täytyy ohjeitanne sulatella.
|
jap
| Keskiviikkona, 9. helmikuuta, 2005 - klo 10.30: | | Pitää päättää montako desimaalia haluaa ottaa. Kertomalla fApu:n kymmenellä saat yhden desimaalin, kertomalla 100:lla saat kaksi, kertomalla 1000:lla saat kolme desimaalia jne. Long int:n koko asettaa rajan sille, miten monta desimaalia voit korkeintaan ottaa. Jos huomasit, niin algoritmi ei pyöristä desimaaliosaa vaan se leikkaa numerosarjan raaasti poikki. Jos käyttää desimaaleja laskentaan, niin algoritmiltä kannattaa ottaa muutama ylimääräinen desimaali, että ei tulisi kovin suurta pyöristysvirhettä. Antimen mainitseman modf-funktion avulla saa helpoiten ja parhaiten desimaalit, mutta jos haluaa itse tutkiskella ongelmaa, niin mikäs siinä
|
JPQ
| Keskiviikkona, 9. helmikuuta, 2005 - klo 11.00: | | jap: ideassani pitäisi saada ns. kaikki joten menee varmaankin Modf:än käytöksi. ps. oikein siis päättelin.
|
|