Baixe Ponto Fixo e Ponto Flutuante e outras Notas de aula em PDF para Arquitetura, somente na Docsity!
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Ponto Fixo e Ponto Flutuante
Arquitetura de Computadores
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Introdução (1/2)
- É trivial para um computador atual tratar e operar com números inteiros.
- Entretanto, em muitas aplicações do dia a dia é necessário realizar operações com quantidades fracionárias, ou representar valores muito grandes ou muito pequenos.
- Para estas situações deve-se representar números em ponto fixo ou em ponto flutuante.
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Representação em Ponto Fixo (1/5)
- Para representar frações em ponto fixo, deve-se reservar certo número de bits para armazenar a parte fracionária. - Naturalmente, a quantidade de bits utilizáveis para a parte inteira diminui de forma correspondente.
- Tomando como exemplo o número binário em complemento de 2 que corresponde ao número decimal
0 1 1 0 0 1 1 1
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Representação em Ponto Fixo (2/5)
- Para a mesma cadeia de bits, tem-se os seguintes números, conforme a posição da vírgula: 0 1 1 0 0 1 1, 1 = 51, 0 1 1 0 0 1 , 1 1 = 27, 0 1 1 0 0 , 1 1 1 = 12, 0 1 1 , 0 0 1 1 1 = 3, 0 , 1 1 0 0 1 1 1 = 0,
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Representação em Ponto Fixo (4/5)
- A quantidade total de valores representáveis permanece a mesma ( 2 n ), independentemente da posição da vírgula.
- A faixa de valores representáveis depende da posição da vírgula.
- Os números fracionários não são contínuos, mas sim, estão separados entre si por uma diferença igual a 2 - f .
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Representação em Ponto Fixo (5/5)
- As operações de soma e subtração em ponto fixo são realizadas exatamente da mesma maneira que para números inteiros. - Naturalmente, podem ser somados (ou subtraídos) apenas números que possuam a mesma posição para a vírgula. - Entretanto, os números em ponto fixo com diferentes posições para a vírgula também podem ser operados, desde que um dos números seja convertido para a representação do outro.
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Representação em Ponto Flutuante (2/5)
- A representação de números em ponto flutuante é basicamente a versão binária da notação científica.
- A cada número em ponto flutuante estão associados, na realidade, três outros números: a mantissa m , o expoente e e a base b.
- No caso dos computadores atuais, a base utilizada é a binária, ou seja, b = 2.
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Representação em Ponto Flutuante (3/5)
- O número em ponto flutuante é então calculado por:
- Como a base é uma constante para um determinado sistema, o número em ponto flutuante é então representado por um par ( m , e ), onde m é uma fração ou um inteiro, e e é o expoente (sempre inteiro). - Note que ambos, mantissa ou expoente, podem ser positivos ou negativos. N = m × b e
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Representação em Ponto Flutuante (5/5)
- Os números em ponto flutuante são inerentemente redundantes, no sentido de que um mesmo número pode ser representado de maneiras diferentes. - Um quintilhão é representado por 1,0 × 10 18 , ou 0,1 × 10 19 , ou 100,0 × 10 16 .
- Assim, é desejável que exista uma forma normalizada de representar um número. - Para tanto utiliza-se somente mantissas normalizadas.
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Normalização (1/2)
- Uma mantissa está normalizada quando é constituída somente de uma parte fracionária (não existe parte inteira) e quando o primeiro dígito à direita da vírgula é diferente de zero.
- Assim, a forma normalizada de representar um quintilhão é dada por 0,1 × 10 19 .
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Formatos de Números em Ponto Flutuante
- Existem diversos formatos adotados para representar os números em ponto flutuante.
- Muitos deles são específicos para uma família de computadores ou para um fabricante.
- Existe, porém, formato recomendado pelo IEEE ( Institute of Electrical and Electronics Engineers ), o IEEE 754. - O bit de sinal é representado no bit mais significativo; os bits seguintes representam o expoente e os bits menos significativos são destinados à mantissa.
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Formato IEEE para Ponto Flutuante (1/6)
- A IEEE define três formatos.
- Nesta notação, cinco grupos de números podem ser representados: - Números normalizados, zero, números não normalizados, infinito e não números (NaN). Simples (32 bits) Duplo (64 bits) Quádruplo (128 bits) Sinal (S) 1 bit 1 bit 1 bit Expoente (E) 8 bits 11 bits 15 bits Mantissa (M) 23 bits 52 bits 112 bits
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Formato IEEE para Ponto Flutuante (3/6)
- O zero é representado por um número todo em zero ( E = M = 0 ). - Note que o zero neste caso pode ter sinal. S| E | M |Valor 0|0000 0000|000 0000 0000 0000 0000 0000| + 1|0000 0000|000 0000 0000 0000 0000 0000| - 0
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Formato IEEE para Ponto Flutuante (4/6)
- Números não normalizados possuem o expoente em zero ( E = 0 ) e uma fração não zero.
- Seu uso é restrito para a representação de números que não podem ser normalizados sem causar underflow.