Pergunta

Eu entendo qualquer fração para ser um quociente de inteiros que não é0 , mas depois de encontrar o termo "float" em várias línguas de programação (como JavaScript), eu entendi mal porque é necessário até mesmo e não dizemos uma fração.

Qual é a diferença entre uma fração e um float?

Foi útil?

Solução

Computadores geralmente lidam com números de ponto flutuante e não com frações. A principal diferença é que os números de ponto flutuante têm precisão limitada, mas são muito mais rápidos para realizar aritmética com (e são o único tipo de números não inteiros suportados nativamente em hardware).

Números de ponto flutuante são armazenados em" notação científica "com uma precisão fixa , que depende do tipo de dados. Aproximadamente falando, eles são armazenados na forma $ \ alfa \ Cdot 2 ^ \ beta $ , onde $ 1 \ leq \ alpha <2 $ , $ \ beta $ é um inteiro, e ambos são armazenados em um número fixo de bits. Isso limita a precisão da $ \ alfa $ e o intervalo de $ \ beta $ : se $ \ alfa $ é armazenado usando $ a $ bits (como $ 1. X_1 \ lDOTS X_A $ ) então ele sempre expressa uma fração cujo denominador é $ 2 ^ a $ e se $ \ beta $ é armazenado usando $ b $ bits, então é sempre no intervalo $ - 2 ^ {B-1}, \ LDOTs, 2 ^ {B-1} -1 $ .

Devido à precisão limitada dos números de ponto flutuante, a aritmética nesses números é apenas aproximada, levando a imprecisões numéricas. Ao desenvolver algoritmos, você tem que ter isso em mente. Na verdade, há uma área inteira em ciência da computação, Análise numérica , dedicada a tais questões. .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a cs.stackexchange
scroll top