Wanneer en waar zou ik de voorkeur geven aan ' std:: nearint ' over the std:: round?


Beste antwoord

std :: nearint : Rondt de zwevende -punt argument arg naar een geheel getal in drijvende-komma-indeling, met behulp van de huidige afrondingsmodus .

std :: round : Berekent de dichtstbijzijnde gehele waarde naar arg (in drijvende-komma-indeling) , waarbij gevallen halverwege van nul worden afgerond, ongeacht de huidige afrondingsmodus.

Er is dus het verschil. Als je een andere afrondingsmodus wilt gebruiken dan die std :: round gebruikt, gebruik dan std :: nearint (of std :: rint , ze zijn bijna identiek) .

Merk op dat zelfs als je FE\_TONEAREST kiest, er een verschil zal zijn: std :: nearint / std :: rint zal halverwege gevallen naar even afronden, terwijl std :: weg van nul afronden.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *