Neste laboratório, veremos como a representação em ponto flutuante, por ser inexata, pode fornecer resultados inesperados a um usuário. Para isso, utilizaremos alguns programas em C. A seguir, serão descritos os passos a serem seguidos para realização deste laboratório:
cd diretório
gcc -o nome_do_executavel nome_do_arquivo_fonte
#includePERGUNTA 1: O que você espera que seja impresso?int main () { float x=0.01; if ((x*100.0) != 1.0) printf ("Não iguais \n"); else printf ("Iguais \n"); return(0); } 
PERGUNTA 2: Execute o programa e verifique o que acontece. Era o que você esperava ?
Compile e execute o programa f02.c abaixo:
#includeint main () { float x=0.01; x=x*100.0; if (x != 1.0) printf ("Não iguais \n"); else printf ("Iguais \n"); return(0); } 
PERGUNTA 3: Execute o programa e verifique o que acontece. Apresentou o mesmo comportamento de f01.c ? Explique o comportamento destes programas.
DICA: No processador Pentium, quando uma operação aritmética é executada em ponto flutuante, os operandos são colocados em  registradores de 80 bits, 
com 64 bits para a mantissa, 15 bits para o expoente e 1 bit para sinal. Lembre-se que para armazenar uma variável do tipo float, utilizam-se 32 bits, 23 bits para mantissa, 8 bits para expoente e 1 bit para sinal. 
#include "stdio.h"
int main () {
        float X,Y,Y1,Z,Z1;
        X=77777;
        Y=7;
        Y1=1/Y;
        Z=X/Y;
        Z1=X*Y1;
        printf ("Z %f Z1 %f \n", Z, Z1);
        if (Z==Z1)
                printf ("Z %f Z1 %f iguais \n",Z,Z1);
        else
                printf ("Z %f Z1 %f diferentes \n",Z,Z1);
        return(0);
}
PERGUNTA 4:
O que você acha que deve ser impresso na execução deste programa ?
PERGUNTA 5:
Compile e execute o programa. O resultado é o que você esperava? Porque ?
#include "stdio.h"
int main () {
        float X,Y;
        X=1000.2;
        Y=X-1000.0;
        printf ("Y =%f \n",Y);
        return(0);
}
PERGUNTA 6: Explique se era o que você esperava.
Insira a linha printf("Float Y = %f \n",Y), após o comando printf no arquivo conv1.c. Execute novamente o programa.
PERGUNTA 7:
Agora você consegue entender o que aconteceu ? Explique porque.