Com base nos dados do laboratório onde está trabalhando, um engenheiro precisa fazer um programa em C++ para calcular o valor de pi com 9 casas decimais de precisão. Com isso em mente, ele escreve o seguinte programa, que tem como intuito calcular esse valor e armazená-lo na variável pi.
Ao tentar rodar o seu script, o engenheiro nota que o programa não conseguiu imprimir o valor de pi com a quantidade de casas decimais esperadas. Por que ocorreu esse erro e qual seria uma medida para que isso não ocorra?
Passo 1
A variável declarada no código é do tipo float. Variáveis desse tipo podem ter até 6 casas decimais de precisão. No entanto, o objetivo do engenheiro é salvar um número de 9 casas decimais de precisão, fazendo o uso do float ser impraticável nesse caso.
Com isso, nós já sabemos qual o problema do programa.
Passo 2
Agora, vamos analisar uma possível solução.
Precisamos armazenar um número real com uma alta precisão. Para números reais, temos as seguintes opções principais:
float: Com até 6 casas de precisão.
double: Com até 10 casas de precisão.
Logo percebe-se que uma variável do tipo double seria mais eficiente nesse caso.
Resposta
O uso do tipo float, que apresenta 6 casas de precisão para armazenar um valor que necessita de 9 casas decimais de precisão. Uma possível solução seria usar o double.