Prévia do material em texto
Representação Numérica segundo Padrão IEEE 754 A norma IEEE 754, publicada em 1985, procurou uniformizar a maneira como as diferentes máquinas representam os números em ponto flutuante, bem como devem operá-los. Essa norma define dois formatos básicos para os números em ponto flutuante: no formato simples, com 32 bits, o expoente tem 8 bits e a mantissa tem 23 bits; no duplo, com 64 bits, o expoente tem 11 bits e a mantissa 52 bits. Bit para o sinal: 0 representa número positivo e 1 representa número negativo. Parâmetros de Aritméticas de Ponto Flutuante utilizadas em alguns computadores digitais. Máquina e Aritmética β t I S Calculadoras HP 28 e 48G 10 12 -499 499 IEEE Precisão Simples 2 23 -126 127 IEEE Precisão Dupla 2 52 -1022 1023 OPERAÇÕES ARITMÉTICAS Dados dois números X e Y representados na forma de ponto flutuante normalizado são definidas as seguintes regras para as operações aritméticas: Adição e Subtração 1) Escolher o número com menor expoente entre X e Y e deslocar sua mantissa para a direita um número de dígitos igual à diferença absoluta entre os respectivos expoente; 2) Colocar o expoente do resultado igual ao maior expoente entre X e Y; 3) Executar a adição/subtração das mantissas e determinar o sinal do resultado; 4) Normalizar o valor do resultado, se necessário; 5) Arredondar o valor do resultado, se necessário e 6) Verificar se houve overflow/underflow. Exercício: Seja F(10, 4, –50, 49). Se X = 436.7 e Y = 7.595 obter a soma ( X+Y ). Multiplicação 1) Colocar o expoente do resultado igual à soma dos expoentes de X e Y; 2) Executar a multiplicação das mantissas e determinar o sinal do resultado; 3) Normalizar o valor do resultado, se necessário; 4) Arredondar o valor do resultado, se necessário e 5) Verificar se houve overflow/underflow. Exercício: Seja F(10, 4, –50, 49). Se X = 436.7 e Y = 7.595 obter o produto ( X*Y ). Divisão 1) Colocar o expoente do resultado igual à diferença dos expoentes de X (dividendo) e de Y (divisor); 2) Executar a divisão das mantissas e determinar o sinal do resultado; 3) Normalizar o valor do resultado, se necessário; 4) Arredondar o valor do resultado, se necessário e 5) Verificar se houve overflow/underflow. Exercício: Seja F(10, 4, –50, 49). Se X = 436.7 e Y = 7.595 obter a divisão ( X/Y ).