När och var ska jag föredra ' std:: nearbyint ' över std:: runda?


Bästa svaret

std :: nearbyint : Avrundar det flytande -punktsargument arg till ett heltal i flytande punktformat med nuvarande avrundningsläge .

std :: round : Beräknar närmaste heltal till arg (i flytande punktformat) , avrundar halvvägsfall från noll, oavsett det aktuella avrundningsläget.

Så det är skillnaden. Om du vill använda ett annat avrundningsläge än vad std :: round använder, använd std :: nearbyint (eller std :: rint , de är nästan identiska) .

Observera att även om du väljer FE\_TONEAREST kommer det att finnas en skillnad: std :: nearbyint / std :: rint avrundar halvvägsfall till jämnt, medan std :: avrundar från noll.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *