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