Exercícios Resolvidos de Memória e Modificadores

Ver Teoria

Enunciado

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.