Hvornår og hvor foretrækker jeg ' std:: nearbyint ' over std:: runde?


Bedste svar

std :: nearbyint : Afrunder den flydende -punktsargument arg til et heltal i flydende punktformat ved hjælp af nuværende afrundingstilstand .

std :: round : Beregner den nærmeste heltal til arg (i flydende punktformat) , afrunder halvvejs sager væk fra nul, uanset den aktuelle afrundingstilstand.

Så der er forskellen. Hvis du vil bruge en anden afrundingstilstand end hvad std :: round bruger, skal du bruge std :: nearbyint (eller std :: rint , de er næsten identiske) .

Bemærk, at selvom du vælger FE\_TONEAREST, vil der være en forskel: std :: nearbyint / std :: rint afrunder halvvejs sager til lige, mens std :: afrunder fra nul.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *