A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Representação de Números Aula - 5. Introdução A aritmética lida com operações sobre números, portanto a representação dos números é um tópico fundamental.

Apresentações semelhantes


Apresentação em tema: "Representação de Números Aula - 5. Introdução A aritmética lida com operações sobre números, portanto a representação dos números é um tópico fundamental."— Transcrição da apresentação:

1 Representação de Números Aula - 5

2 Introdução A aritmética lida com operações sobre números, portanto a representação dos números é um tópico fundamental. A escolha de um sistema de representação de números tem repercussões na complexidade dos algoritmos e sobre o custo e desempenho dos circuitos. Um outro aspecto é a interface com outros circuitos e a interface humana. Consideremos como exemplo, o sistema de números com resíduos (Residue Number Systems, RNS) que permite uma implementação muito rápida e circuitos aritméticos custo-efetivos. Não obstante, o RNS necessita de um certo tipo de interface de entrada e saída de custo relativamente alto, e conversores AD e DA não entendem esse tipo de representação. Assim, o uso de RNS é limitado a casos em que o custo extra de codificação e decodificação RNS seja desprezível com respeito ao custo total. Neste capítulo, os sistemas de representação de números mais comuns são descritos. O capítulo é dividido em 3 seções correspondentes aos números naturais, inteiros e reais.

3 Números naturais –Sistemas ponderados Qualquer número natural (inteiro não negativo) pode ser representado numa única forma, de soma de potências B i de certo número natural B, maior que 1, cada uma das quais multiplicada por um número natural menor que B. –O seguinte teorema define um sistema de numeração de base-B. –Teorema. Dado um número natural B maior que 1, qualquer número natural menor que B n pode ser expresso na forma onde cada coeficiente é um número natural menor que B. E existe somente um vetor ( ) representando.

4 Algoritmo para computar x i (algoritmo 3.1) For i in 0..n-1 loop x(i):= x mod B; x := x/B; end loop; Exemplo: Computar a representação hexadecimal de = = = = = = = [4639D] base16. x(i)=xmodB x = x/B n = 0 n = n-1 B

5 Sistema de numeração misto, com várias bases (mixed-radix system) Exemplo: o sistema de tempo expresso em dias, horas, minutos, segundos e milisegundos. Teorema (3.2): dados n números naturais maiores que 1, qualquer número natural menor que pode ser expresso na forma onde e cada coeficiente x i é um número natural menor que b i. E existe somente um vetor representando x. Nota-se que na Base-B, os pesos são B i, enquanto que no sistema misto os pesos são dados por:

6 Algoritmo 3.2 (para computar os coeficientes xi num sistema de numeração misto ) for i in 0..n-1 loop x(i) := x mod b(i); x := x /b(i); end loop; Exemplo: computar a representação de na base mista (13,12,15,11,12): = = = = = = 12. ( ) + 1.( ) + 4.(11.12) x mod b(i) x/b(i) b(i) i = 0 i = n-1

7 Comentário Dado um número natural s, a conversão de uma representação na base B de x, a uma representação base B s, e vice-versa, é direta. Supõe-se que n = s.q (se n não for divisível por s, então zeros iniciais devem ser adicionados. Então, onde Como exemplo, a representação binária de um número decimal é A conversão para a representação hexadecimal é direta: [ ] base 2 = [4639D] base 16. n = 20, s = 4 e 20 = 4. q, portanto q = 5. X 4 = x 4x B x B 4-2 +x B 4-3 +x 4.4 B 0 X 4 = x 19 B 3 + x 18 B 2 +x 17 B 1 +x 16 B 0 X 4 = X 4 = 4 X4X4

8 Sistema numérico de resíduos (RNS) Um RNS é definido por um conjunto de s valores módulo[m i ]. Se os m i s são primos entre si, o RNS é dito não-redundante. A representação RNS de um dado número natural é um vetor R(N), cujos componentes r i são os respectivos resíduos módulo m i, isto é, os sucessivos restos da divisão inteira de N/m i r i = N mod m i. O mínimo múltiplo comum de {m i } é o intervalo de RNS, geralmente denotado por M. O maior número natural que pode ser representado em RNS definido por {m i } é M – 1 = (m 1 -1, m 2 -1,...,m s -1). Se os m i s são primos entre si então

9 Exemplo Seja {m i } = {31, 17, 7, 5, 3} e N = (789) 10. Computar {r i } Solução: s = 5; r 1 = 789 mod 3 = 0 r 2 = 789 mod 5 = 4 r 3 = 789 mod 7 = 5 r 4 = 789 mod 17 = 7 r 5 = 789 mod 31 = 14 (789) 10 = (14,7,5,4, 0) RNS r i = N mod m i Como m i s são primos entre si, onde M é o mínimo múltiplo comum de {m i }.

10 Representação de Inteiros Representação sinal e magnitude – um inteiro pode ser representado na forma +x ou –x, onde x é um número natural. O número natural x pode ser representado na base B e ao invés de usar os símbolos + e -, é usado um dígito adicional de sinal igual a 0 (número positivo) e 1 (número negativo). Definição: O inteiro representado na forma onde x n-1 é o bit de sinal é O intervalo de números representados é É uma forma natural de representar um número inteiro. Não obstante, não é a forma mais conveniente. e

11 Representação excesso de E Uma outra forma de representar um número inteiro x consiste em associar um número natural R(x) a x, onde R é uma função um-a-um, e R(x) é representada na base B. Definição 3.3: no sistema de numeração excesso de E, onde E é um número natural, R(x) = x + E tal que o inteiro representado na forma seja e o intervalo de números representados,

12 Comentários sobre excesso de E Se B é par, e E é escolhido igual a B n /2, então, o número representado na forma é A regra de definição do sinal é: se x é negativo então e se x é positivo Em alguns casos práticos, o valor de E é diferente de B n /2. Como exemplo, no sistema de ponto-flutuante de precisão simples ANSI/IEEE o expoente é um número de 8 bits que representa um inteiro x no intervalo de acordo com o método excesso de E com E = 127 e não B n /2=128.

13 Comentários (cont.) Se B= 2 e E = 2 n-1, então o número representado na forma é onde significa o complemento de A função de representação R é unate, tal que a comparação de magnitude é fácil. Função binária unate positiva é tal que se aplicar o valor 1 a um bit, o valor da função é maior ou igual que a aplicação do valor 0 no mesmo bit, desde que os demais bits sejam iguais.

14 Exemplo Representar x = com n = 6 dígitos na base B = 10 com E = 10 6 /2. B 6 =10 6 = E = B 6 /2 = 10 6 /2= R(x) = x + E = – = Observa-se que: (2-10/2) = = – = 2x – Número em excesso de E E

15 Representação Complemento de B É obtido um número natural R(x), aplicando uma função um-a-um a x. Definição: No sistema de numeração complemento de B, cada inteiro x, pertencente ao intervalo é representado pelo número natural tal que o inteiro representado na forma seja se e se positivo negativo

16 Essas condições podem ser reescritas na forma: se e se E se B é par, as últimas condições são equivalentes a: se e se positivo negativo

17 Complemento de 2 Se B = 2, o número representado por é e o bit mais significativo é também o bit de sinal. Se e se

18 comentários O sistema complemento de B é baseado na operação, a saber R(x) = x mod B n. Para representar um número de n dígitos com n+1 dígitos (extensão do número), a seguinte regra deve ser usada (B par): Se e se Se B = 2, o vetor de n+1 bit representa o mesmo número como o vetor de n bit

19 Sistema de numeração complemento de B reduzido Num sistema de numeração complemento de B reduzido, o dígito mais significativo x n-1 é 0 ou B-1. Definição: no sistema de numeração complemento de B reduzido (B par), cada inteiro x pertencente ao intervalo é representado por Se então e se então

20 Sistema de numeração complemento de B reduzido (cont.) Assim, o inteiro representado por é e e a regra de definição de sinal é a seguinte: se x é negativo, e se x é positivo,. De fato, o sistema complemento de B reduzido é obtido da representação complemento de B adicionando um dígito, se o dígito mais significativo é diferente de 0 ou B-1.

21 Exemplo Representar x = com n = 6 dígitos em complemento de B com B = 10. B 6 = B 6 /2 = R(x) = x + B 6 = Observa-se que x 5 = 7 – 10 = = No sistema complemento de B reduzido, n = 7 dígitos são necessários: ( < -B n-1 = ): R(x) = x + B 7 = Observa-se que = e que é deduzido de adicionando um dígito de acordo com a regra de extensão.

22 Codificação de Booth A representação complemento de 2,, de um inteiro x pode ser vista como uma representação com dígito de sinal. onde e todos os outros dígitos A codificação de Booth gera uma outra representação com dígito de sinal. Definição: Considera-se um inteiro x cuja representação complemento de 2 é e define-se

23 Codificação de Booth Então, multiplicando a primeira equação por 2 0, a segunda por 2 1, e terceira por 2 2, e assim por diante, e adicionando as n equações, é obtida a seguinte equação: O vetor cujos componentes y i pertencem a {-1,0,1} é a representação Booth-1 de x e Observa-se que a representação de Booth de um inteiro é formalmente a mesma de uma representação binária de um número natural. O método de codificação de Booth pode ser generalizado.

24 Codificação Booth-2 Definição: considerar um inteiro cuja representação em complemento de 2 é com n = 2.m bits, e definir Multiplicando a primeira equação por 4 0, a segunda por 4 1, a terceira por 4 2, e assim por diante, e adicionando m equações, a seguinte equação é obtida: O vetor cujos componentes y i pertencem a {-2,-1,0,1,2} é a representação Booth-2 de x e

25 Codificação Booth-r Definição: considerar um inteiro x cuja representação em complemento de 2 é com n = r.m bits, e definir O vetor cujos componentes y i pertencem a é a representação Booth-r de x e onde B=2 r.

26 Exemplo Computar a codificação de Booth de , cuja representação complemento de 2 é: De acordo com a representação Booth-1 é e de acordo cm a representação Booth-2 é

27 Números reais Para números reais, existem dois tipos de abordagens de sistemas de numeração: ponto fixo e ponto flutuante. O sistema ponto fixo é uma simples extensão da representação de números inteiros, que permite a representação de um intervalo relativamente reduzido de números com certa precisão absoluta. O sistema ponto flutuante permite uma representação de um intervalo muito grande de números, com uma precisão relativa.

28 Sistema de numeração ponto-fixo No sistema de numeração ponto-fixo, o número representado na forma: é x/B p onde x é o inteiro representado pela mesma sequência de dígitos sem o ponto. Seja x min e x max os inteiros mínimo e máximo que podem ser representados com n dígitos, isto é, x min = 1 – B n-1 e x max = B n-1 -1 na representação sinal e magnitude, e x min = -B n /2 e x max = B n /2 -1 em complemento de B ou excesso de B n /2. Então, qualquer número real x no intervalo pode ser representado com erro igual ao valor absoluto da diferença entre x e sua representação. A distância d entre os números exatamente representados é igual à unidade na posição menos significativa (unit in the least significant position – ulp), isto é, B -p, tal que o erro máximo seja igual a O erro relativo máximo é igual a. Se então tal que o erro relativo máximo seja menor ou igual a

29 exemplo O intervalo de números x que podem ser representados em complemento de B com B = 10, n = 9 dígitos, e ulp = é Os seguintes números podem ser representados exatamente: , , ,...,-0.001, 0.000, 0.001,..., A distância entre eles é igual a ulp =

30 Sistema de numeração ponto- flutuante Num sistema de numeração ponto-flutuante, a representação consiste de dois números: um número em ponto-fixo ( significando) +s ou –s, onde s é um número positivo, e um expoente (inteiro) e. O número correspondente é onde b é a base (não-necessariamente igual a B). Seja s min, s max, e min e e max os valores mínimo e máximo de s e e respectivamente. O intervalo de números representados é e o valor absoluto mínimo de um número representado é Seja ulp a unidade na posição menos significativa do significando. Então a distância D entre os números exatamente representados é D = d.b e, onde d = ulp é a distância entre dois valores sucessivos do significando. Assim, o valor de D depende do expoente e. O erro máximo é igual a O erro relativo máximo é igual a Como no caso anterior, o erro relativo máximo é menor ou igual a

31 exemplo No sistema de ponto-flutuante de precisão simples ANSI/IEEE, o significando é um inteiro representado em sinal e magnitude onde é chamado mantissa, e o expoente é um inteiro em excesso de 127. A palavra de 32 bits representa o número onde Assim

32 Apesar de e min e e max não serem usados para representarem números ordinários, eles são usados para representar e outros números não-ordinários. Os valores mínimo e máximo são: tais que o intervalo de números representados seja isto é e o menor número positivo representado é


Carregar ppt "Representação de Números Aula - 5. Introdução A aritmética lida com operações sobre números, portanto a representação dos números é um tópico fundamental."

Apresentações semelhantes


Anúncios Google