Articles of ponto flutuante

Uso de ponto flutuante no kernel do Linux

Estou lendo “Linux Kernel Development”, de Robert Love, e me deparei com a seguinte passagem: Não (Fácil) Uso do Ponto Flutuante Quando um processo de espaço do usuário usa instruções de ponto flutuante, o kernel gerencia a transição do modo inteiro para o ponto flutuante. O que o kernel precisa fazer ao usar instruções de […]

Alguma CPU do mundo real não usa o IEEE 754?

Estou otimizando uma function de sorting para uma biblioteca numérica / estatística com base na suposição de que, após filtrar qualquer NaNs e fazer um pouco de distorção, floats podem ser comparados como ints de 32 bits sem alterar o resultado e duplas podem ser comparadas como Ints de 64 bits. Isso parece acelerar a […]

Como detectar um número de ponto flutuante usando uma expressão regular

O que é uma boa expressão regular para manipular um número de ponto flutuante (por exemplo, como o Float do Java) A resposta deve corresponder aos seguintes alvos: 1) 1. 2) .2 3) 3.14 4) 5e6 5) 5e-6 6) 5E+6 7) 7.e8 8) 9.0E-10 9) .11e12 Em resumo, deveria ignorar os sinais anteriores exigir que […]

Cálculo duplo produzindo resultado ímpar

Eu tenho 2 números armazenados como Double, 1.4300 e 1.4350. Quando eu subtrair 1,4350-1,4300, me dá o resultado: 0.0050000000000001155. Por que ele adiciona 1155 ao final e como posso resolver isso para que ele retorne 0,005 ou 0,0050? Não tenho certeza se o arredondamento funcionará, pois estou trabalhando com 2 e 4 números decimais.

Comparação de ponto flutuante com variável no bash

Eu quero comparar uma variável de ponto flutuante para um inteiro. Eu sei que isso não é o melhor para fazer com bash, mas todo o meu script já está escrito em bash. $ number pode ser qualquer inteiro. Se for menor ou igual a 50, eu quero output1, para todos os outros eu quero […]

É 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ê é […]

Tipos de ponto flutuante de tamanho fixo

Nos stdint.h (C99), boost / cstdint.hpp e cstdint (C ++ 0x), há, entre outros, o tipo int32_t . Existem tipos semelhantes de ponto flutuante de tamanho fixo? Algo como float32_t ?

Como obter o sinal, mantissa e expoente de um número de ponto flutuante

Eu tenho um programa, que está sendo executado em dois processadores, um dos quais não tem suporte de ponto flutuante. Então, eu preciso executar cálculos de ponto flutuante usando ponto fixo nesse processador. Para esse propósito, usarei uma biblioteca de emulação de ponto flutuante. Eu preciso primeiro extrair os sinais, mantissas e expoentes de números […]

Java: Por que devemos usar BigDecimal em vez de Double no mundo real?

Ao lidar com valores monetários do mundo real, sou aconselhado a usar BigDecimal em vez de Double. Mas eu não tenho uma explicação convincente, exceto: “Normalmente é feito dessa maneira”. Você pode por favor lançar luz sobre esta questão?

Por que Double.NaN == Double.NaN retorna falso?

Eu estava apenas estudando perguntas do OCPJP e encontrei este código estranho: public static void main(String a[]) { System.out.println(Double.NaN==Double.NaN); System.out.println(Double.NaN!=Double.NaN); } Quando eu corri o código, recebi: false true Como a saída é false quando comparamos duas coisas que parecem iguais umas às outras? O que NaN significa?