Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Tipos de Ponto-Flutuante

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tipos de Ponto-Flutuante

    Os tipos de ponto-flutuante representam números racionais. Recebe este nome, em contraste ao tipo inteiro, que é um ponto-fixo, pois seu ponto decimal pode “flutuar”. Mas deve-se lembrar que o valor de uma variável do tipo ponto-flutuante, assim como tudo na computação (ou em outros sistemas digitais), é representado por bits (e estes são finitos), ou seja, há um limite de precisão e de valores que um ponto-flutuante pode representar. Simplificando, uma variável do tipo ponto-flutuante não pode representar todo e qualquer número racional que se imagine, sendo a limitação do computador a causa disto.

    Várias representações foram propostas na computação para lidar com números fracionários. O padrão IEEE 754 é o mais amplamente utilizado atualmente. A utilização de padrões como este, por exemplo, favorecem a portabilidade de programas de uma máquina para outra. As operações realizadas em variáveis do tipo ponto-flutuante são idênticas em duas máquinas que suportam o padrão IEEE 754, torna-se então de considerável facilidade portar um programa entre estas duas máquinas.

    Assim como os inteiros, os pontos-flutuante podem ser modificados quanto ao tamanho (e, consequêntemente, quanto à precisão). Eles podem ser: float (precisão simples), double (precisão dupla) e long double (precisão estendida). Seus tamanhos dependem da implementação. No compilador VC++ um float ocupa 32 bits, um double ocupa 64 bits e um long double é idêntico a um double. Veja exemplos de declarações de pontos-flutuante.

    1.
    float a;
    2.
    double b;
    3.
    long double c; //Idêntico a b
    Literais de ponto-flutuante

    Assim como nos tipos inteiros, existem diferentes formas de representar números de ponto-flutuante no C++.

    Por padrão, os literais de ponto-flutuante representam dados do tipo double. Caso seja necessário representar dados do tipo float, deve-se preceder o literal por f ou F. Algumas vezes exemplos são mais relevantes que explicações teóricas, esta é uma delas. Vejamos exemplos:

    1.
    double a = 1.23; // 1.23
    2.
    double b = .23; // 0.23
    3.
    double c = 0.23; // 0.23
    4.
    double d = 1.; // 1.0
    5.
    double e = 1.0; // 1.0
    6.
    double f = 1.2e10; // 1.2 * 10 ^ 10
    7.
    double g = 1.23e-15; // 1.23 * 10 ^ (-15)
    8.

    9.
    float h = 2.0f; // 2.0 (nestes dois casos os literais retornam floats)
    10.
    float i = 3.0F; // 3.0
    Créditos : TaTu

    OBS: Qualquer Bug me avise pois modifiquei algumas coisas.

    Atenciosamente,
    ex_SheL$
X
Working...
X