Ubuntun käyttö > Ohjelmointi, palvelimet ja muu edistyneempi käyttö
round() ja rint() -funktioiden erot?
(1/1)
vtp:
Mitäs eroja mahtaa olla näillä kahdella funktiolla, jotka pyöristävät liukulukuja lähimpään kokonaislukuun? Ainakaan uClibc-kirjastosssa ei ole 'round':ia, mutta 'rint' löytyy. En ihan man-sivusta ymmärtänyt lukemaani. Glibc:stä tuo round sen sijaan löytyy.
Tarkoituksena on kääntää imlib2 -kirjasto uClibc:tä vasten. Käännös onnistuu ainoastaan, mikäli muutan kaikki: "round -> rint".
SuperOscar:
glibc:n dokumentaatio on tosiaan tältä osin aika hankalasti muotoiltu :)
round()-funktioperheestä sanotaan: ”These functions are similar to rint, but they round halfway cases away from zero instead of to the nearest even integer” eli pyöristetään aina itseisarvoltaan suurempaan lukuun (0,5 1:een, -0,5 -1:een). Näinhän se on yleinen käytäntö ohjelmoinnin ulkopuolellakin.
rint()-perhe taas pyöristää ”nykyisen pyöristystavan” mukaan.
Veikkaan (mutten tiedä), että rint() on sama kuin round(), jos asetat pyöristystavan oikein.
vtp:
Kiitoksia vastauksesta. En ole huomannut rint-funktion aiheuttavan mitään kummallista, joten saa olla toistaiseksi näin.
Navigaatio
[0] Viestien etusivu
Siirry pois tekstitilasta