Articles of precisão 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); […]

É seguro verificar valores de ponto flutuante para igualdade para 0?

Eu sei que você não pode confiar na igualdade entre valores de tipo double ou decimal normalmente, mas eu estou querendo saber se 0 é um caso especial. Embora eu possa entender imprecisões entre 0,00000000000001 e 0,00000000000002, 0 em si parece ser muito difícil de ser confundido, já que não é nada. Se você é […]

Truncar (não arredondar) números decimais em javascript

Eu estou tentando truncar números decimais para casas decimais. Algo assim: 5.467 -> 5.46 985.943 -> 985.94 toFixed(2) faz quase a coisa certa, mas arredonda o valor. Eu não preciso do valor arredondado. Espero que isso seja possível em javascript.

Precisão do C # DateTime.Now

Acabei de me deparar com algum comportamento inesperado com o DateTime.UtcNow enquanto fazia alguns testes de unidade. Parece que quando você chama DateTime.Now/UtcNow em sucessão rápida, parece dar-lhe de volta o mesmo valor para um intervalo de tempo maior que o esperado, em vez de capturar incrementos de milissegundos mais precisos. Eu sei que há […]

Qual é a diferença entre float e double?

Eu li sobre a diferença entre precisão dupla e precisão única. No entanto, na maioria dos casos, float e double parecem ser intercambiáveis, ou seja, usar um ou outro não parece afetar os resultados. É este realmente o caso? Quando flutuadores e duplos são intercambiáveis? Quais são as diferenças entre eles?

Por que vejo uma variável dupla inicializada com algum valor como 21.4 como 21.399999618530273?

double r = 11.631; double theta = 21.4; No depurador, eles são mostrados como 11.631000000000000 e 21.399999618530273 . Como posso evitar isso?

Como faço para imprimir um valor duplo com precisão total usando cout?

Então, eu obtive a resposta para a minha última pergunta (não sei por que não pensei nisso). Eu estava imprimindo um double usando cout que foi arredondado quando eu não estava esperando por isso. Como posso fazer impressão de um double usando precisão total?

Por que números de ponto flutuante são imprecisos?

Por que alguns números perdem a precisão quando armazenados como números de ponto flutuante? Por exemplo, o número decimal 9.2 pode ser expresso exatamente como uma razão de dois inteiros decimais ( 92/10 ), ambos podem ser expressos exatamente em binário ( 0b1011100/0b1010 ). No entanto, a mesma proporção armazenada como um número de ponto […]

Por que esses números não são iguais?

O código a seguir está obviamente errado. Qual é o problema? i <- 0.1 i <- i + 0.05 i ## [1] 0.15 if(i==0.15) cat("i equals 0.15") else cat("i does not equal 0.15") ## i does not equal 0.15

Por que 24,0000 não é igual a 24,0000 no MATLAB?

Eu estou escrevendo um programa onde eu preciso excluir pontos duplicados armazenados em uma matriz. O problema é que, quando se trata de verificar se esses pontos estão na matriz, o MATLAB não consegue reconhecê-los na matriz, embora eles existam. No código a seguir, a function intersections obtém os pontos de interseção: [points(:,1), points(:,2)] = […]