Escolar Documentos
Profissional Documentos
Cultura Documentos
Prof. Fbio M. Costa Instituto de Informtica UFG 1S/2004 Representao de Dados e Aritimtica Computacional
Roteiro
Nmeros inteiros sinalizados e nosinalizados Operaes aritimticas Nmeros de ponto flutuante
Unidade Lgico-Aritimtica
Executa clculos Todos os demais componentes do computadores existem em funo dela Manipula nmeros inteiros Pode manipular nmeros de ponto flutuante (nmeros reais) FPU (Floating Point Unit)
integrado no chip do processador, ou em um co-processador separado (obsoleto)
Representao de inteiros
Apenas 0 e 1 para representar tudo Nmeros positivos so armazenados em repr. binria direta
Ex.: 41 = 00101001
Sem sinal de menos Sem ponto decimal (vrgula) Duas representaes possveis:
Sinal-e-magnitude Complemento de dois
Representao em sinalmagnitude
Bit mais esquerda (mais significativo) o bit de sinal
0: positivo 1: negativo
Ex.:
+18 = 00010010 -18 = 10010010
Problemas
Em operaes aritimticas preciso considerar ambos o sinal e a magnitude Duas representaes para zero (+0 e -0 !!!)
Faixa de nmeros
Complemento de 2 de 8 bits
+127 = 01111111 = 27 -1 -128 = 10000000 = -27
Complemento de 2 de 16 bits
+32767 = 011111111 11111111 = 215 - 1 -32768 = 100000000 00000000 = -215
Adio e subtrao
Adio binria normal Monitorar o overflow do bit de sinal Subtrao:
Tome o complemento de dois do subtraendo e adicione-o ao minuendo
i.e.: a b = a + (-b)
Multiplicao
Mais complexa:
Opera-se o produto parcial para cada dgito (do multiplicador) Desloca cada produto parcial uma casa esquerda Adiciona-se os produtos parciais
Exemplo de multiplicao
1011 x 1101 1011 0000 1011 1011 10001111 Multiplicando (11 decimal) Multiplicador (13 decimal) Produtos parciais Obs.: se o bit multiplicador 1, copia-se o multiplicando; do contrrio: zero Produto (143 decimal)
Algoritmo direto
Execuo de um exemplo
Soluo 1
converter para positivo, se necessrio multiplicar como acima se os sinais forem diferentes, negar a resposta
Soluo 2
Algoritmo de Booth
Algoritmo de Booth
Diviso
Mais complexa que a multiplicao Pior para nmeros negativos Baseado na operao com lpis e papel
Resto
Nmeros reais
Nmeros com fraes Poderiam ser representados em binrio puro
1001,1010 = 23 + 20 + 2-1 + 2-3 = 9,625
Mvel?
como mostrar onde ele est?
Ponto Flutuante
Bit sinal Expoente Polarizado Mantissa
+/- 0,<mantissa> X 2<expoente> O ponto fixado entre o bit de sinal e o corpo da mantissa O expoente indica a posio (relativa) do ponto
+8 +7 +6 +5 +4 +3 +2 +1 +0 0 1 2 3 4 5 6 7 8
1111 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000
Vantagem principal: comparao direta lgica mais simples Uso na notao de Ponto Flutuante: O expoente real convertido para a forma polarizada
Referncias
Stallings (*) Cap. 8: Aritimtica Computacional Patterson & Hennessy Cap. 4: Aritimtica Computacional
Exerccios
Stallings
8.4 a 8.6 8.14 a 8.16