Algo estranho na conversão de valores double para int [RESOLVIDO]

1. Algo estranho na conversão de valores double para int [RESOLVIDO]

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 07/11/2018 - 11:41h




  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 07/11/2018 - 12:48h

Experimente imprimir que você acha que é 1.00000 com mais do que 16 dígitos de precisão. Provavelmente esse valor é quase igual a 1, e é arredondado para 1.00000 quando você manda imprimir o valor com seis ou sete dígitos de precisão, mas se requisitar mais casas (a precisão de double é de quase 16 casas), verá que ainda falta um tantinho para chegar realmente a 1.

3. Re: Algo estranho na conversão de valores double para int [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 07/11/2018 - 12:58h

Os valores que você usou como exemplo parecem frações com denominador 6. Isso me lembra que um dos exercícios de Cálculo Numérico era provar que, com uma representação binária de ponto flutuante de cada uma das parcelas, a soma de 1/3+1/3+1/3 será necessariamente sempre diferente da representação binária de 1.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts