Quando e onde devo preferir ' std:: nearbyint ' sobre o std:: round?


Melhor resposta

std :: nearbyint : arredonda o flutuante argumento -point arg para um valor inteiro no formato de ponto flutuante, usando o modo de arredondamento atual .

std :: round : Calcula o valor inteiro mais próximo para arg (no formato de ponto flutuante) , arredondando os casos intermediários para longe de zero, independentemente do modo de arredondamento atual.

Portanto, há a diferença. Se você quiser usar um modo de arredondamento diferente do que std :: round usa, use std :: nearbyint (ou std :: rint , eles são quase idênticos) .

Observe que mesmo se você escolher FE\_TONEAREST, haverá uma diferença: std :: nearbyint / std :: rint vai arredondar os casos pela metade para pares, enquanto std :: arredondar para longe de zero.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *