/ / Calculando o valor flutuante máximo - loops, matemática, ponto flutuante, precisão

Calculando o valor máximo de float - loops, matemática, ponto flutuante, precisão

Eu quero calcular o valor máximo de flutuação (digamosf64) iterativamente. Eu estava pensando em multiplicar algum número como 1,0 vezes 2 até chegar ao infinito, mas não vai me dar um número exato. Algo como adicionar macheps também não funciona porque é muito lento. Tenho certeza de que você precisa aumentar / diminuo o divisor / multiplicador em alguma coisa cada vez que você atinge o infinito, mas não sei como fazer.

Respostas:

0 para resposta № 1

Biblioteca padrão da sua linguagem de programaçãodeve fornecer uma constante que representa os limites numéricos de seus tipos. Se você quiser tentar um loop: você deve ler cuidadosamente a documentação para erros (incluindo perda de precisão e estouro) e lembrar que o maior número representável não é apenas o maior expoente, mas o maior expoente multiplicado pelo maior mantissa.

Dito isso, calcular as potências de 2 até obter um erro e, em seguida, adicioná-las da maior para a menor até obter um erro, deve funcionar.