Când și unde ar trebui să prefer ' std:: Nearbyint ' peste std:: round?


Cel mai bun răspuns

std :: Nearbyint : rotunjește flotantul -point argument arg la o valoare întreagă în format cu virgulă mobilă, utilizând modul curent de rotunjire .

std :: round : Calculează cea mai apropiată valoare întreagă la arg (în format cu virgulă mobilă) , rotunjirea cazurilor la jumătatea distanței de la zero, indiferent de modul curent de rotunjire.

Deci, există diferența. Dacă doriți să utilizați un mod de rotunjire diferit de ceea ce folosește std :: round, utilizați std :: Nearbyint (sau std :: rint , acestea sunt aproape identice) .

Rețineți că, chiar dacă alegeți FE\_TONEAREST, va exista o diferență: std :: nearestint / std :: rint va rotunji la jumătate cazurile la egal, în timp ce std :: rotunjește la zero.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *