Når og hvor skal jeg foretrekke ' std:: nearbyint ' over std:: runde?


Beste svaret

std :: nearbyint : Avrunder det flytende -punktsargument arg til et heltall i flytende punktformat ved hjelp av gjeldende avrundingsmodus .

std :: round : Beregner nærmeste heltall til arg (i flytende-format) , avrunding halvveis vekk fra null, uavhengig av gjeldende avrundingsmodus.

Så det er forskjellen. Hvis du vil bruke en annen avrundingsmodus enn hva std :: round bruker, bruk std :: nearbyint (eller std :: rint , de er nesten identiske) .

Merk at selv om du velger FE\_TONEAREST, vil det være en forskjell: std :: nearbyint / std :: rint vil avrunde halvveis tilfeller til jevnt, mens std :: runde bort fra null.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *