Articles of ponto flutuante de

Erro de precisão com flutuadores em Java

Eu estou querendo saber qual é a melhor maneira de corrigir erros de precisão em Java. Como você pode ver no exemplo a seguir, há erros de precisão: class FloatTest { public static void main(String[] args) { Float number1 = 1.89f; for(int i = 11; i < 800; i*=2) { System.out.println("loop value: " + i); […]

Biblioteca de alta precisão de ponto flutuante Java

Quais bibliotecas para Java existem que possuem uma implementação rápida para operações de ponto flutuante ou de ponto fixo com uma precisão de vários milhares de dígitos? Como eles são de alto desempenho? Um requisito para mim é que ele implemente um algoritmo de multiplicação que seja melhor do que o algoritmo de multiplicação ingênuo […]

Como converter float para int com Java

Eu usei a seguinte linha para converter float para int, mas não é tão preciso quanto eu gostaria: float a=8.61f; int b; b=(int)a; O resultado é: 8 (deve ser 9 ) Quando a = -7.65f , o resultado é: -7 (deve ser -8 ) Qual é a melhor maneira de fazer isso?

Como pode um valor de flutuação primitivo ser -0,0? O que isso significa?

Por que um valor primitivo de float pode ser -0,0? O que isso significa? Posso cancelar esse recurso? Quando eu tenho: float fl; Então fl == -0.0 retorna true e fl == 0 . Mas quando imprimo, imprime -0.0 .

Devo usar o dobro ou flutuar?

Quais são as vantagens e desvantagens de usar um em vez do outro em C ++?

Como verificar se uma string é passível de um double?

Existe uma maneira nativa (de preferência sem implementar seu próprio método) para verificar se uma seqüência de caracteres é passível de análise com Double.parseDouble() ?

Transmitindo um resultado para flutuar no método retornando o resultado das mudanças de flutuação

Por que esse código imprime False no .NET 4? Parece que algum comportamento inesperado está sendo causado pelo casting explícito. Eu gostaria de uma resposta além de “ponto flutuante é impreciso” ou “não faça isso”. float a(float x, float y) { return ( x * y ); } float b(float x, float y) { return […]

comparando valores float / double usando o operador ==

A ferramenta de análise de código que eu uso reclama com o abaixo quando eu começo a comparar dois valores float usando o operador de igualdade. Qual é o caminho correto e como fazê-lo? Existe uma function auxiliar (commons- *) que eu possa reutilizar? Descrição Não é possível comparar valores de ponto flutuante usando o […]

Por que (360/24) / 60 = 0… em Java

Eu estou tentando calcular (360/24) / 60 Eu continuo recebendo a resposta 0.0 quando devo obter 0,25 Em palavras: eu quero dividir 360 por 24 e depois dividir o resultado por 60 public class Divide { public static void main(String[] args){ float div = ((360 / 24) / 60); System.out.println(div); } } Isso imprime: 0,0 […]

Por que o Math.round (0,49999999999999994) retorna 1?

No programa a seguir, você pode ver que cada valor ligeiramente menor que .5 é arredondado para baixo, exceto para 0.5 . for (int i = 10; i >= 0; i–) { long l = Double.doubleToLongBits(i + 0.5); double x; do { x = Double.longBitsToDouble(l); System.out.println(x + ” rounded is ” + Math.round(x)); l–; } […]