Articles of ieee 754

Coagir o ponto flutuante a ser determinístico no .NET?

Eu tenho lido muito sobre o determinismo de ponto flutuante no .NET, ou seja, garantir que o mesmo código com as mesmas inputs forneça os mesmos resultados em diferentes máquinas. Como o .NET carece de opções como o fpstrict do Java e o fp: strict do MSVC, o consenso parece ser que não há maneira […]

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 […]

Precisão dupla – casas decimais

Pelo que li, um valor do tipo de dados double tem uma precisão aproximada de 15 casas decimais. No entanto, quando eu uso um número cuja representação decimal repete, como 1.0 / 7.0, acho que a variável contém o valor de 0,14285714285714285 – que é 17 lugares (através do depurador). Eu gostaria de saber por […]

Formatação dobra para saída em c #

Executando um experimento rápido relacionado ao Double Multiplicação Quebrado em .NET? e lendo alguns artigos sobre formatação de C #, achei que isso: { double i = 10 * 0.69; Console.WriteLine(i); Console.WriteLine(String.Format(” {0:F20}”, i)); Console.WriteLine(String.Format(“+ {0:F20}”, 6.9 – i)); Console.WriteLine(String.Format(“= {0:F20}”, 6.9)); } Seria o equivalente em C # deste código C: { double i […]

A matemática de ponto flutuante é consistente em C #? Pode ser?

Não, isso não é outra pergunta “Por que é (1 / 3.0) * 3! = 1” . Eu tenho lido muito sobre os pontos flutuantes ultimamente; especificamente, como o mesmo cálculo pode fornecer resultados diferentes em diferentes arquiteturas ou configurações de otimização. Este é um problema para os videogames que armazenam replays, ou são peer-to-peer […]

Que intervalo de números pode ser representado em sistemas IEEE-754 de 16, 32 e 64 bits?

Eu sei um pouco sobre como os números de ponto flutuante são representados, mas não o suficiente, receio. A questão geral é: Para uma dada precisão (para meus propósitos, o número de casas decimais precisas na base 10), que intervalo de números pode ser representado para sistemas IEEE-754 de 16, 32 e 64 bits? Especificamente, […]

Por que NaN não é igual a NaN?

O padrão IEEE relevante define uma constante numérica NaN (não um número) e prescreve que NaN deve comparar como diferente de si mesmo. Por que é que? Todas as línguas que conheço implementam esta regra. Mas geralmente causa problemas significativos, por exemplo, comportamento inesperado quando o NaN é armazenado em um container, quando o NaN […]

Qual é o primeiro inteiro que um float IEEE 754 é incapaz de representar exatamente?

Para maior clareza, se estou usando uma linguagem que implementa IEE 754 floats e declaro: float f0 = 0.f; float f1 = 1.f; … e depois imprimi-los de volta, eu vou conseguir 0,0000 e 1,0000 – exatamente. Mas o IEEE 754 não é capaz de representar todos os números ao longo da linha real. Perto […]

maior número inteiro que pode ser armazenado em um

Qual é o maior número inteiro “não flutuante” que pode ser armazenado em um tipo duplo IEEE 754 sem perder a precisão?

Grandes números erroneamente arredondados em Javascript

Veja este código: var jsonString = ‘{“id”:714341252076979033,”type”:”FUZZY”}’; var jsonParsed = JSON.parse(jsonString); console.log(jsonString, jsonParsed); Quando vejo meu console no Firefox 3.5, o valor de jsonParsed é: Object id=714341252076979100 type=FUZZY Ou seja, o número é arredondado. Tentei valores diferentes, o mesmo resultado (número arredondado). Eu também não recebo as regras de arredondamento. 714341252076979136 é arredondado para 714341252076979200, […]