Arquitetura de Computadores Universidade do Oeste de Santa Catarina
Conceitos da Lógica Digital <ul><li>Introdução </li></ul><ul><ul><li>Máquinas projetadas para armazenar 0 e 1. </li></ul><...
<ul><li>Tipos de Sistemas de Numeração </li></ul><ul><ul><li>Não-posicionais – são aqueles em que o valor atribuído a um s...
<ul><li>Tipos de Sistemas de Numeração </li></ul><ul><ul><li>Posicionais </li></ul></ul><ul><ul><li>Base 10 – {0,1,2,3,4,5...
<ul><li>Representação de Números </li></ul><ul><ul><li>Fórmula geral </li></ul></ul><ul><ul><li>Fórmula Expandida  </li></...
<ul><li>Representação de Números </li></ul><ul><ul><li>Exercício:Aplicar as fórmulas apresentadas nos seguintes conjuntos ...
<ul><li>Representação de Números </li></ul><ul><ul><li>Exercício:Aplicar as fórmulas apresentadas nos seguintes conjuntos ...
<ul><li>Transformação entre bases  </li></ul><ul><ul><li>Método Polinomial </li></ul></ul>Conversão de Bases anibal:  Poli...
<ul><li>Transformação entre bases  </li></ul><ul><ul><li>Método das Subtrações </li></ul></ul>Conversão de Bases anibal: S...
<ul><li>Transformação entre bases  </li></ul><ul><ul><li>Método das Subtrações – Exemplo 681 para binário: 681 – 1.2 9  = ...
<ul><li>Transformação entre bases  </li></ul><ul><ul><li>Método das Divisões com resto igual a x 0 </li></ul></ul>Conversã...
<ul><li>Transformação entre bases </li></ul><ul><ul><li>Método das Divisões – Exemplo 53 para binário : 53 / 2 = 26, resta...
<ul><li>Transformação entre bases  </li></ul><ul><ul><li>Método da Substituição Direta </li></ul></ul><ul><ul><ul><li>Conv...
Questões <ul><li>Converter para decimal os seguintes números: </li></ul><ul><ul><li>101010 (Base 2) </li></ul></ul><ul><ul...
Questões <ul><li>Usando o método de divisões, converter os seguintes números decimais para as bases indicadas: </li></ul><...
Questões <ul><li>Usando o método de subtrações, converter os seguintes números decimais para as bases indicadas: </li></ul...
Questões <ul><li>Usando o método das substituições converter para a base indicada: </li></ul><ul><ul><li>101100011010(B2) ...
Questões <ul><li>Converter para binário os seguintes números decimais: </li></ul><ul><ul><li>39 </li></ul></ul><ul><ul><li...
Aritmética Computacional <ul><li>Arimética Não-Decimal  </li></ul><ul><ul><li>Operações Aritméticas sem sinal </li></ul></...
Aritmética Computacional <ul><li>Soma de Números Binários sem sinal </li></ul>anibal:  quando representamos números em pap...
Aritmética Computacional <ul><li>Subtração de Números Binários sem sinal </li></ul>anibal: Regras:  1 – Minuendo – subtrae...
Aritmética Computacional <ul><li>Multiplicação de Números Binários sem sinal </li></ul>anibal: <ul><ul><li>Regra base: </l...
Aritmética Computacional <ul><li>Divisão de Números Binários sem sinal </li></ul><ul><li>anibal: </li></ul><ul><li>Dividen...
Aritmética Computacional <ul><li>Exemplos </li></ul><ul><ul><li>Somar 23 10  e   22 10  e 357 10  e 315 10 . </li></ul></u...
Aritmética Computacional <ul><li>Overflow </li></ul><ul><ul><li>Acontece quando o resultado de uma soma não poder ser arma...
Aritmética Computacional <ul><li>Números Binários com sinal </li></ul><ul><ul><li>Para representármos n bits usa-se: </li>...
Aritmética Computacional <ul><li>Números Binários com sinal </li></ul><ul><li>Exemplos  (1 bit para sinal e 4 bits para a ...
Aritmética Computacional <ul><li>Números Binários com sinal – Complemento de (B-1) ou 1 </li></ul><ul><ul><li>Determinação...
Aritmética Computacional <ul><li>Números Binários com sinal – Complemento de (B-1) ou 1 </li></ul><ul><ul><li>Soma A e B: ...
Aritmética Computacional <ul><li>Números Binários com sinal – Complemento de (B) ou 2 </li></ul><ul><ul><li>Determinação d...
Aritmética Computacional <ul><li>Números Binários com sinal – Complemento de B ou 2 </li></ul><ul><ul><li>Soma A e B: </li...
Aritmética Computacional <ul><li>Números Binários com sinal – Análise dos Métodos </li></ul><ul><li>Sinal de Magnitude e C...
Aritmética Computacional <ul><li>Estouro de representação </li></ul><ul><ul><li>Números em computador são limitados </li><...
Aritmética Computacional <ul><li>Números em Ponto Flutuante </li></ul><ul><ul><li>Números fracionários </li></ul></ul><ul>...
Aritmética Computacional <ul><li>Números em Ponto Flutuante </li></ul><ul><ul><li>IEEE 754 especifica diferentes larguras ...
Aritmética Computacional <ul><li>Números em Ponto Flutuante </li></ul><ul><ul><li>Representar o número 6,25 em ponto flutu...
Aritmética Computacional <ul><li>Números em Ponto Flutuante </li></ul><ul><ul><li>Expoente trabalha com uma representação ...
Aritmética Computacional <ul><li>Números em Ponto Flutuante </li></ul><ul><ul><li>Precisão simples ou dupla </li></ul></ul...
Aritmética Computacional <ul><li>Aritmética com Números em Ponto Flutuante </li></ul><ul><ul><li>Multiplicação  – regras: ...
Aritmética Computacional <ul><li>Aritmética com Números em Ponto Flutuante </li></ul><ul><ul><li>Adição – regras: </li></u...
Aritmética Computacional <ul><li>Números Inteiros e Ponto Flutuante têm limitações: </li></ul><ul><ul><li>A faixa de bits ...
Questões <ul><li>Mostre como os seguintes inteiros seriam representados por um sistema que utiliza inteiros de 8 bits sem ...
Questões <ul><li>Qual é o valor decimal dos seguintes inteiros binários sem sinal?  </li></ul><ul><ul><li>1100 </li></ul><...
Questões <ul><li>Calcule o produto dos seguintes pares de inteiros sem sinal. Produza o resultado  em 8 bits. </li></ul><u...
Questões <ul><li>Quantos bits são necessários para representar os seguintes números decimais como inteiros binários sem si...
Questões <ul><li>Quais são os maiores e os menores inteiros que podem ser representados com valore4s de 4, 8 e 16 bits, ut...
Questões <ul><li>Converta os seguintes números decimais para a representação de 8 bits em sinal de magnitude e em compleme...
Questões <ul><li>Utilizando inteiros de 8 bits em complemento de 2, execute os seguintes cálculos: </li></ul><ul><ul><li>-...
Questões <ul><li>Quais valores estão representados pelos seguintes números em ponto flutuante IEEE de precisão simples? </...
Questões <ul><li>Utilize números em ponto flutuante de precisão simples para calcular os valores: </li></ul><ul><ul><li>32...
Upcoming SlideShare
Loading in …5
×

arquitetura de computadores

8,906
-1

Published on

Published in: Technology, Business
2 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
8,906
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
267
Comments
2
Likes
2
Embeds 0
No embeds

No notes for slide

arquitetura de computadores

  1. 1. Arquitetura de Computadores Universidade do Oeste de Santa Catarina
  2. 2. Conceitos da Lógica Digital <ul><li>Introdução </li></ul><ul><ul><li>Máquinas projetadas para armazenar 0 e 1. </li></ul></ul><ul><ul><li>Computador, constitui-se: elementos eletrônicos como resistores, transistores </li></ul></ul>anibal: Tópico 1: a informação binária é representada em um sistema digital por quantidades físicas, sinais elétricos, os quais são gerados e mantidos internamente ou recebidos de elementos externos, em dois níveis de intensidade, cada um correspondente a um valor binário. 0 – representa o valor lógico falso, indicando a ausência de sinal. 1 – representa o valor lógico verdadeiro, indicando a presença de sinal elétrico.
  3. 3. <ul><li>Tipos de Sistemas de Numeração </li></ul><ul><ul><li>Não-posicionais – são aqueles em que o valor atribuído a um símbolo não se altera, independente da posição em que ele se encontre no conjunto de símbolos que está representando um número. </li></ul></ul><ul><ul><li>Posicionais – são aqueles em que o valor atribuído a um símbolo depende da posição que ele se encontra no conjunto de símbolos que está representando um número. </li></ul></ul>Conversão de Bases anibal: Não-Posicional: Um exemplo seria o sistema de numeração romano. Neste sistema temos os símbolos I, X, V, L, C, D e M. Em qualquer posição dentro de um conjunto destes símbolos, eles não alteram seus valores (I – 1, V - 5, X – 10, L – 50, C – 100, M – 1000 ). Posicional: Por exemplo típico de sistema posicional é o sistema de numeração decimal. Neste sistema, por exemplo o símbolo 5 pode representar o valor 5, 50, 500 ou 57 (50 +7) e assim por diante.
  4. 4. <ul><li>Tipos de Sistemas de Numeração </li></ul><ul><ul><li>Posicionais </li></ul></ul><ul><ul><li>Base 10 – {0,1,2,3,4,5,6,7,8,9,0} </li></ul></ul><ul><ul><li>Base 8 – {0,1,2,3,4,5,6,7} </li></ul></ul><ul><ul><li>Base 2 – {0,1} </li></ul></ul><ul><ul><li>Base 16 – {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} </li></ul></ul>Conversão de Bases anibal: Base 10 é usado no computadores como entrada e saída de dados, Base 2 é usada para os cálculos internos do computador, Base 16 e 8 são bases mais compactas de representação interna. Base 2 – cada algarismo de uma representação numérica binária é denominado de bit, que corresponde à abreviatura de binary digit. Outras Denominações usadas com freqüência: Byte = conjunto de 8bits Nibble = conjunto de quatro bits ou 4 bytes Word = conjunto de 16 bits ou 2 bytes
  5. 5. <ul><li>Representação de Números </li></ul><ul><ul><li>Fórmula geral </li></ul></ul><ul><ul><li>Fórmula Expandida </li></ul></ul>Conversão de Bases anibal: a= representa o número ,B = Base, xi=representa os algarismos, n= número de posições. Assim: A Base B de um sistema é igual à quantidade de algarismos distintos utilizados.Para a base decimal, tem-se 10 algarismos distintos (de 0 a 9). Quando uma posição é ocupada pelo maior algarismo e ela deve ser aumentada de uma unidade, esta posição recebe o símbolo nulo e a posição seguinte deve ser aumentada de uma unidade. Assim, 9+1=10, 19+1=20, 99+1=100. O algarismo mais à direita (denominado de dígito menos significativo) tem peso 1. O algarismo imediatamente à esquerda tem o peso da da Base B, o seguinte à esquerda tem peso de B ao quadrado, depois B ao cubo, e assim por diante. O valor de cada algarismo de um número é determinado multiplicando-se o algarismo pelo peso de sua posição. O valor de um número é determinado pela soma dos valores de cada algarismo.
  6. 6. <ul><li>Representação de Números </li></ul><ul><ul><li>Exercício:Aplicar as fórmulas apresentadas nos seguintes conjuntos de algarismos: </li></ul></ul><ul><ul><li>45 10 </li></ul></ul><ul><ul><li>789 10 </li></ul></ul><ul><ul><li>5690 10 </li></ul></ul><ul><ul><li>7890 10 </li></ul></ul><ul><ul><li>89523 10 </li></ul></ul>Conversão de Bases anibal:
  7. 7. <ul><li>Representação de Números </li></ul><ul><ul><li>Exercício:Aplicar as fórmulas apresentadas nos seguintes conjuntos de algarismos: </li></ul></ul><ul><ul><li>45 16 </li></ul></ul><ul><ul><li>742 8 </li></ul></ul><ul><ul><li>10111010 2 </li></ul></ul>Conversão de Bases anibal:
  8. 8. <ul><li>Transformação entre bases </li></ul><ul><ul><li>Método Polinomial </li></ul></ul>Conversão de Bases anibal: Polinomial – cada número é representado por um polinômio em uma certa base, tudo o que se deve fazer para transformar um número de uma base para outra é interpretar este número como um polinômio utilizando-se a aritmética da base de destino. Basicamente este método realiza a conversão de uma base qualquer para Base 10.
  9. 9. <ul><li>Transformação entre bases </li></ul><ul><ul><li>Método das Subtrações </li></ul></ul>Conversão de Bases anibal: Subtrações – A Conversão para determinação dos coeficientes xi é iniciada da esquerda (xn-1) para a direita (até x0). Inicia-se determinando os valores de n (a quantidade de dígitos necessária) e de xn-1(o dígito mais significativo). Para tanto procura-se o produto (base de origem) do maior coeficiente pela maior potência da nova base, que está contido no número a ser convertido, ou seja, procura-se o maior produto xn-1.Bn-1 que seja menor (ou igual) que a . Este coeficiente xn-1 é o algarismo a ser utilizado na posição mais à esquerda (dígito mais significativo) do número na nova base. Subtrai-se este produto do número a ser convertido. Para determinar o algarismo seguinte à direita (xn-2) repete-se o processo usando agora agora a diferença do passo anterior a´. O processo continua até que o número final seja igual a zero.
  10. 10. <ul><li>Transformação entre bases </li></ul><ul><ul><li>Método das Subtrações – Exemplo 681 para binário: 681 – 1.2 9 = 169 169 – 0.2 8 = 169 – 0.256 = 169 169 – 1.2 7 = 169 – 128 = 41 41 – 0.2 6 = 41 – 0.64 = 41 41 – 1.2 5 = 41 – 32 = 9 9 – 0.2 4 = 9 – 0.16 = 9 9 – 1.2 3 = 9 – 8 = 1 1 – 0.2 2 = 1 – 0.4 = 1 1 – 0.2 1 = 1 – 0.2 = 1 1 – 1.2 0 = 1 – 1 = 0 </li></ul></ul>Conversão de Bases anibal: Usa-se essa conversão, principalmente, quando deseja-se converter algo de decimal para binário.
  11. 11. <ul><li>Transformação entre bases </li></ul><ul><ul><li>Método das Divisões com resto igual a x 0 </li></ul></ul>Conversão de Bases anibal: Divisões – o número a ser convertido é dividido pela nova base (na aritmética da base de origem). O resto desta nova divisão forma o algarismo mais à direita (menos significativo) do número convertido. O quociente é novamente dividido, e assim, sucessivamente, até o resto ser zero. Converte de Base 10 para qualquer.
  12. 12. <ul><li>Transformação entre bases </li></ul><ul><ul><li>Método das Divisões – Exemplo 53 para binário : 53 / 2 = 26, resta 1 26 / 2 = 13, resta 0 13 / 2 = 6, resta 1 6 / 2 = 3, resta 0 3 / 2 = 1, resta 1 1 / 2 = 0, resta 1 Inverte-se o número e obtém-se: 110101 </li></ul></ul>Conversão de Bases anibal:
  13. 13. <ul><li>Transformação entre bases </li></ul><ul><ul><li>Método da Substituição Direta </li></ul></ul><ul><ul><ul><li>Conversão de Base 2 para Base B n 10000111 = 0 10 000 111 = 207 (Octal) </li></ul></ul></ul><ul><ul><ul><li>Conversão de Base B n para Base 2 207 (Octal) = 010 000 111 (Binário) </li></ul></ul></ul>Conversão de Bases anibal: Subs. Direta – método mais fácil, entretanto funciona somente para bases que são potências inteiras entre si, como por exemplo de octal para binário (e vice-versa) ou de hexadecimal para binário (e vice-versa). Para se converter um número representado na base 2 para uma base 2 n , onde n é potência de 2, devemos agrupar da direita para a esquerda, os bits da representação binária em grupos de n bits e substituir cada grupo pela sua correspondente representação na base 2 n . Para executar a conversão de um número representado numa base 2 n , onde n é potência de 2, para sua representação na base 2 devemos substituir, da direita para a esquerda, cada um de seus algarismos pela sua correspondente representação binária em grupos de n bits.
  14. 14. Questões <ul><li>Converter para decimal os seguintes números: </li></ul><ul><ul><li>101010 (Base 2) </li></ul></ul><ul><ul><li>1010 (Base 3) </li></ul></ul><ul><ul><li>1021 (Base 4) </li></ul></ul><ul><ul><li>1025 (Base 6) </li></ul></ul><ul><ul><li>E1A (Base 16) </li></ul></ul>anibal:
  15. 15. Questões <ul><li>Usando o método de divisões, converter os seguintes números decimais para as bases indicadas: </li></ul><ul><ul><li>96 para a ternária </li></ul></ul><ul><ul><li>56 para a base binária </li></ul></ul><ul><ul><li>96 para a base octal </li></ul></ul><ul><ul><li>56 para a base hexadecimal </li></ul></ul>anibal:
  16. 16. Questões <ul><li>Usando o método de subtrações, converter os seguintes números decimais para as bases indicadas: </li></ul><ul><ul><li>96 para a ternária </li></ul></ul><ul><ul><li>258 para a base binária </li></ul></ul><ul><ul><li>96 para a base octal </li></ul></ul><ul><ul><li>56 para a base hexadecimal </li></ul></ul>anibal:
  17. 17. Questões <ul><li>Usando o método das substituições converter para a base indicada: </li></ul><ul><ul><li>101100011010(B2) para a B8 </li></ul></ul><ul><ul><li>00101100101(B2) para a B16 </li></ul></ul><ul><ul><li>347(B8) para a B2 </li></ul></ul><ul><ul><li>7E4B(B16) para a B2 </li></ul></ul>anibal:
  18. 18. Questões <ul><li>Converter para binário os seguintes números decimais: </li></ul><ul><ul><li>39 </li></ul></ul><ul><ul><li>0,4479 </li></ul></ul><ul><ul><li>256,75 </li></ul></ul><ul><ul><li>129,5625 </li></ul></ul>anibal:
  19. 19. Aritmética Computacional <ul><li>Arimética Não-Decimal </li></ul><ul><ul><li>Operações Aritméticas sem sinal </li></ul></ul><ul><ul><li>Operações Aritméticas com sinal </li></ul></ul><ul><ul><li>Inteiros e Fracionários </li></ul></ul>anibal:
  20. 20. Aritmética Computacional <ul><li>Soma de Números Binários sem sinal </li></ul>anibal: quando representamos números em papel temos quantos dígitos forem necessários para representar um número. Isto não acontece quando um computador armazena um número. Ele utiliza um número fixo de dígitos binários, ou bits, para a representação em base 2. Portanto, se estamos utilizando um byte para armazenamento, todos os 8 bits, e no máximo 8 bits serão usados. <ul><ul><li>Regra base: </li></ul></ul><ul><ul><ul><li>0 + 0 = 0 </li></ul></ul></ul><ul><ul><ul><li>1 + 0 = 1 </li></ul></ul></ul><ul><ul><ul><li>0 + 1 = 1 </li></ul></ul></ul><ul><ul><ul><li>1 + 1 = 0 e “vai um” </li></ul></ul></ul>
  21. 21. Aritmética Computacional <ul><li>Subtração de Números Binários sem sinal </li></ul>anibal: Regras: 1 – Minuendo – subtraendo = diferença; 2 – operação realizada algarismo por algarismo; 3 – Se o algarismo do minuendo for menor que o algarismo do subtraendo, adiciona-se ao minuendo o valor igual ao da base (2 ou 8 ou 16). Esse valor corresponde a uma unidade subtraída (empréstimo) do algarismo à esquerda do minuendo; 4 – O resultado é colocado na coluna, na parcela diferença. <ul><ul><li>Regra base: </li></ul></ul><ul><ul><ul><li>0 - 0 = 0 </li></ul></ul></ul><ul><ul><ul><li>1 - 0 = 1 </li></ul></ul></ul><ul><ul><ul><li>0 - 1 = 1 e “pede um” </li></ul></ul></ul><ul><ul><ul><li>1 - 1 = 0 </li></ul></ul></ul>
  22. 22. Aritmética Computacional <ul><li>Multiplicação de Números Binários sem sinal </li></ul>anibal: <ul><ul><li>Regra base: </li></ul></ul><ul><ul><ul><li>0 . 0 = 0 </li></ul></ul></ul><ul><ul><ul><li>1 . 0 = 0 </li></ul></ul></ul><ul><ul><ul><li>0 . 1 = 1 </li></ul></ul></ul><ul><ul><ul><li>1 . 1 = 1 </li></ul></ul></ul>
  23. 23. Aritmética Computacional <ul><li>Divisão de Números Binários sem sinal </li></ul><ul><li>anibal: </li></ul><ul><li>Dividendo/ divisor = quociente e resto. </li></ul><ul><li>Regras Base: </li></ul><ul><li>A partir da esquerda, avançam-se tantos algarismos quantos sejam necessários par a obter-se um valor igual ou maior que o divisor; </li></ul><ul><li>Encontrado esse valor, registra-se 1 para o quociente; </li></ul><ul><li>Subtrai-se do valor obtido no dividendo o valor do divisor (na divisão binária, como o quociente somente pode ser de valor igual a 1, a subtração é sempre com o próprio valor do divisor); </li></ul><ul><li>Ao resultado acrescentam-se mais algarismos do dividendo (se ainda houver algum), até obter-se um valor igual ou maior que o divisor (como o item a). Se o(s) algarismo(s) for(em) zero, acrescentam-se zero(s) ao quociente; </li></ul><ul><li>Repete-se o processo a partir do item b, até que se esgotem os algarismos do dividendo. </li></ul><ul><ul><li>Regra base: </li></ul></ul><ul><ul><ul><li>0 / 0 = “erro” </li></ul></ul></ul><ul><ul><ul><li>1 / 0 = “erro” </li></ul></ul></ul><ul><ul><ul><li>0 / 1 = 0 </li></ul></ul></ul><ul><ul><ul><li>1 / 1 = 1 </li></ul></ul></ul>
  24. 24. Aritmética Computacional <ul><li>Exemplos </li></ul><ul><ul><li>Somar 23 10 e 22 10 e 357 10 e 315 10 . </li></ul></ul><ul><ul><li>Subtrair 128 10 e 87 10 e 357 10 e 315 10 . </li></ul></ul><ul><ul><li>Multiplicar 128 10 e 865 10 e 57 10 e 5 10 . </li></ul></ul><ul><ul><li>Dividir 128 10 e 64 10 e 32 10 e 8 10 . </li></ul></ul>anibal:
  25. 25. Aritmética Computacional <ul><li>Overflow </li></ul><ul><ul><li>Acontece quando o resultado de uma soma não poder ser armazenada no número de bits disponíveis. </li></ul></ul><ul><ul><li>Somar 10 10 e 13 10 (4 bits). </li></ul></ul><ul><ul><li>Carry Out (Vai Um) = Overflow </li></ul></ul>anibal:
  26. 26. Aritmética Computacional <ul><li>Números Binários com sinal </li></ul><ul><ul><li>Para representármos n bits usa-se: </li></ul></ul><ul><ul><li>1 = “-” </li></ul></ul><ul><ul><li>0 = “+” </li></ul></ul>anibal: o bit mais significativo a esquerda para o sinal e o restante representando o número propriamente dito. Magnitude = Grandeza Apesar de ser muito familiar ao ser humano esta notação é pouco utilizada em computação. Há duas formas de representação para o zero Dessa forma usa-se outras formas de representação de números com sinal. Sinal Magnitude
  27. 27. Aritmética Computacional <ul><li>Números Binários com sinal </li></ul><ul><li>Exemplos (1 bit para sinal e 4 bits para a magnitude) : </li></ul><ul><ul><li>5 10 e –5 10 </li></ul></ul><ul><ul><li>0 10 e –0 10 </li></ul></ul><ul><ul><li>1 10 e –1 10 </li></ul></ul><ul><ul><li>15 10 e –15 10 </li></ul></ul>anibal:
  28. 28. Aritmética Computacional <ul><li>Números Binários com sinal – Complemento de (B-1) ou 1 </li></ul><ul><ul><li>Determinação do sinal: </li></ul></ul><ul><ul><ul><li>1 representa o sinal - </li></ul></ul></ul><ul><ul><ul><li>0 representa o sinal + </li></ul></ul></ul><ul><ul><li>Determinação da magnitude: </li></ul></ul><ul><ul><ul><li>+7 10 (em 4 bits) tem-se: 0 1 1 1 </li></ul></ul></ul><ul><ul><ul><li>-7 10 (em 4 bits) tem-se: 1 0 0 0 </li></ul></ul></ul><ul><li>anibal: Na representação em complemento de (B-1), o complemento de um número a é obtido subtraindo-se este número da maior quantidade representável, ou seja Bn-1-a. </li></ul><ul><li>A faixa de números é divida em duas. Uma das faixas representa os números positivos, e a outra faixa representa os números negativos. Existindo m representações, as primeiras m/2 são utilizadas para números positivos (de 0 a m/2-1), e as m/2 representações seguintes (m/2 até m-1) são utilizadas para os negativos. A faixa de representação fica: </li></ul><ul><ul><li>Base par:[ -(B n /2-1) ,+(B n /2-1) ] </li></ul></ul><ul><ul><li>Base ímpar: [ -(B n -3) / 2, +(B n -1) /2 ] </li></ul></ul>Sinal Magnitude Sinal Magnitude B-1-x i
  29. 29. Aritmética Computacional <ul><li>Números Binários com sinal – Complemento de (B-1) ou 1 </li></ul><ul><ul><li>Soma A e B: </li></ul></ul><ul><ul><ul><li>Se A(+2) e B (+3) – OK </li></ul></ul></ul><ul><ul><ul><li>Se A(-2) e B (-3) – * </li></ul></ul></ul><ul><ul><ul><li>Se A(+3) e B (-2) – * </li></ul></ul></ul><ul><ul><ul><li>Se A(+2) e B(-3) – OK </li></ul></ul></ul><ul><ul><ul><li>Se A(-3) e B (+2) – OK </li></ul></ul></ul><ul><ul><ul><li>Se A(-2) e B(+3) – * </li></ul></ul></ul><ul><ul><li>* Se ocorrer um “vai um” ao resultado, deve-se somar um ao resultado para corrigilo. </li></ul></ul>anibal:
  30. 30. Aritmética Computacional <ul><li>Números Binários com sinal – Complemento de (B) ou 2 </li></ul><ul><ul><li>Determinação do sinal: </li></ul></ul><ul><ul><ul><li>1 representa o sinal - </li></ul></ul></ul><ul><ul><ul><li>0 representa o sinal + </li></ul></ul></ul><ul><ul><li>Determinação da magnitude: </li></ul></ul><ul><ul><ul><li>Calcula-se o B-1 e depois soma-se 1 ao resultado. </li></ul></ul></ul><ul><li>anibal: Para representar números em complemento de B, utiliza-se a fórmula Bn-a. Note-se que, ao contrário de complemento de (B-1), esta fórmula é aplicada sobre todo o número, e não sobre os seus algarismos individuais. Dessa elimina-se a dupla representação do zero e a faixa de representação fica: </li></ul><ul><ul><li>Base par:[ -(B n /2) ,+(B n /2-1) ] </li></ul></ul><ul><ul><li>Base ímpar: [ -(B n -1) / 2, +(B n -1) /2 ] </li></ul></ul><ul><ul><li>Nota-se que a gama de representação é dividida em dois subconjuntos, um para números negativos e outra para positivos. </li></ul></ul>
  31. 31. Aritmética Computacional <ul><li>Números Binários com sinal – Complemento de B ou 2 </li></ul><ul><ul><li>Soma A e B: </li></ul></ul><ul><ul><ul><li>Se A(+2) e B (+3) – OK </li></ul></ul></ul><ul><ul><ul><li>Se A(-2) e B (-3) – * </li></ul></ul></ul><ul><ul><ul><li>Se A(+3) e B (-2) – * </li></ul></ul></ul><ul><ul><ul><li>Se A(+2) e B(-3) – OK </li></ul></ul></ul><ul><ul><ul><li>Se A(-3) e B (+2) – OK </li></ul></ul></ul><ul><ul><ul><li>Se A(-2) e B(+3) – * </li></ul></ul></ul><ul><ul><li>* Se ocorrer um “vai um” ao resultado, deve-se ignorar sua existência. </li></ul></ul>anibal:
  32. 32. Aritmética Computacional <ul><li>Números Binários com sinal – Análise dos Métodos </li></ul><ul><li>Sinal de Magnitude e Complemento de 1 </li></ul><ul><ul><li>Duas representações para o zero </li></ul></ul><ul><ul><li>Simetria de Positivos e Negativos </li></ul></ul><ul><ul><li>Dificuldade em fazer operações </li></ul></ul><ul><li>Complemento de 2 </li></ul><ul><ul><li>Uma representação para o zero </li></ul></ul><ul><ul><li>Um negativo a mais que os positivos </li></ul></ul>anibal:
  33. 33. Aritmética Computacional <ul><li>Estouro de representação </li></ul><ul><ul><li>Números em computador são limitados </li></ul></ul><ul><ul><li>Somas (Overflow): </li></ul></ul><ul><ul><ul><li>Dois operandos tiverem sinais diferente, nunca há overflow. </li></ul></ul></ul><ul><ul><ul><li>Dois operandos tiverem sinais iguais, e este sinal for diferente do sinal obtido para o resultado. </li></ul></ul></ul><ul><li>anibal: Quanto maior o número de dígitos disponíveis, maior será a faixa de números representáveis, mas esta faixa sempre será finita. Assim, ao realizar-se uma soma (ou subtração) de dois números, o resultado pode cair fora da faixa representável. Nesses casos, diz-se que houve um estouro ou transbordamento da representação (overflow) visto anteriormente. Para representar corretamente o resultado quando ocorreu um estouro seria necessário um dígito a mais para representar o número. </li></ul><ul><li>Por exemplo, para números binários de 4 dígitos, tem-se: </li></ul><ul><ul><li>-8 +1 = -7 (correto) </li></ul></ul><ul><ul><li>-8 +(-1) = 7 (incorreto; deveria ser –9) </li></ul></ul><ul><ul><li>7 +(-1)= 6 (correto) </li></ul></ul><ul><ul><li>7+3 = -6 (incorreto; deveria ser 10) </li></ul></ul>
  34. 34. Aritmética Computacional <ul><li>Números em Ponto Flutuante </li></ul><ul><ul><li>Números fracionários </li></ul></ul><ul><ul><li>Números além da quantidade de bits necessária </li></ul></ul><ul><li>Representação dos números </li></ul>anibal: Usados para representar quantidades que não são inteiras, ou porque elas contêm valores fracionários, ou porque elas estão além da faixa que pode ser representada dentro da largura de bits do sistema. Quando um calculo cria um valor que não pode ser representado exatamente pelo formato em ponto flutuante, o HW precisa arredondar o resultado para um valor que possa ser representado exatamente.
  35. 35. Aritmética Computacional <ul><li>Números em Ponto Flutuante </li></ul><ul><ul><li>IEEE 754 especifica diferentes larguras de bits para números em PF. </li></ul></ul><ul><ul><li>Precisão simples </li></ul></ul><ul><ul><li>Precisão dupla </li></ul></ul>anibal: Simples (32 bits) Dupla (64 bits) Campos: Fração – é um número em sinal de magnitude que representa a parte fracionária de um número binário cuja parte inteira é assumidamente 1 Mantissa - a mantissa de um número em ponto flutuante IEEE 754 é sempre na forma +/_ 1 . Fração, dependendo do valor do bit de sinal. Expoente – número de casas após a vírgula Sinal - + ou - 1 8 23 Sinal Expoente Fração 1 11 52 Sinal Expoente Fração
  36. 36. Aritmética Computacional <ul><li>Números em Ponto Flutuante </li></ul><ul><ul><li>Representar o número 6,25 em ponto flutuante de precisão simples </li></ul></ul>anibal: Para achar o campo de fração, desloca-se a representação binária do número para baixo, de modo que i valor à esquerda da vírgula binária seja 1.; assim, 110,01 torna-se: Quando desejamos uma representação de fração normalizada em PF, o 1 inicial é assumido, e apenas os valores à direita da vírgula são representados. Neste caso 1001. Note que, quando estendemos valores fracionários para representações mais largas, acrescentamos zeros à direita do último dígito significativo, em oposição à extensão de sinal de inteiros sem sinal, onde os zeros são acrescentados à esquerda dele.
  37. 37. Aritmética Computacional <ul><li>Números em Ponto Flutuante </li></ul><ul><ul><li>Expoente trabalha com uma representação chamada por excesso </li></ul></ul><ul><ul><ul><li>Precisão Simples: 127 </li></ul></ul></ul><ul><ul><ul><li>Precisão Dupla: 1023 </li></ul></ul></ul><ul><ul><li>Obtido através da subtração do excesso pelo número binário sem sinal contido no campo. </li></ul></ul>anibal: Representações por excesso são, de certo modo, incomuns, mas elas têm uma vantagem sobre significativa: permitem que comparações em PF sejam feitas utilizando o mesmo HW de comparação que o das comparações entre inteiros sem sinal, uma vez que valores maiores de uma codificação por excesso correspondem a valores maiores do que o número codificado.
  38. 38. Aritmética Computacional <ul><li>Números em Ponto Flutuante </li></ul><ul><ul><li>Precisão simples ou dupla </li></ul></ul><ul><ul><li>Descobrir o número decimal do seguinte número em precisão simples: 0100 0000 0110 0000 0000 0000 0000 0000 </li></ul></ul>anibal: Resultado: 3,5 Uma vez que representar o zero de forma exata é muito importante para cálculos numéricos, o padrão IEEE especifica que quando o campo de expoente de um número em ponto flutuante é zero, assume-se que o bit inicial da mantissa é zero.
  39. 39. Aritmética Computacional <ul><li>Aritmética com Números em Ponto Flutuante </li></ul><ul><ul><li>Multiplicação – regras: </li></ul></ul><ul><ul><ul><li>Somar os expoentes e subtrair do excesso </li></ul></ul></ul><ul><ul><ul><li>Multiplicar as mantissas </li></ul></ul></ul><ul><ul><ul><li>Ajustar expoente e deslocar e arredondar o produto da mantissa </li></ul></ul></ul><ul><ul><li>Exemplo1: e </li></ul></ul><ul><ul><li>Exemplo 2: Multiplicar 2,5 por 0,75. </li></ul></ul>anibal: Divisão muito semelhante a multiplicação. O HW calcula o quociente das mantissas e a diferença entre os expoentes dos números que estão sendo divididos, somando o valor do excesso à diferença entre os campos de expoente dos dois números, de modo a obter a representação por excesso correta do resultado. O quociente das mantissas é então, deslocado e arredondado para caber dentro do campo de fração do resultado.
  40. 40. Aritmética Computacional <ul><li>Aritmética com Números em Ponto Flutuante </li></ul><ul><ul><li>Adição – regras: </li></ul></ul><ul><ul><ul><li>Deslocar uma das entradas até que ambas tenham o mesmo expoente (geralmente da menor para a maior) </li></ul></ul></ul><ul><ul><ul><li>Mantissas são somadas (resultado é deslocado se necessário) </li></ul></ul></ul><ul><ul><li>Exemplo1: e </li></ul></ul><ul><ul><li>Exemplo 2: Somar 1,5 por 0,25. </li></ul></ul>anibal: Subtração é feita a partir das diferenças.
  41. 41. Aritmética Computacional <ul><li>Números Inteiros e Ponto Flutuante têm limitações: </li></ul><ul><ul><li>A faixa de bits (largura de bits) </li></ul></ul><ul><ul><li>Cálculos que exijam uma maior precisão do que a representação em ponto flutuante não executarão as operações corretamente. </li></ul></ul>anibal:
  42. 42. Questões <ul><li>Mostre como os seguintes inteiros seriam representados por um sistema que utiliza inteiros de 8 bits sem sinal. </li></ul><ul><ul><li>37 </li></ul></ul><ul><ul><li>89 </li></ul></ul><ul><ul><li>4 </li></ul></ul><ul><ul><li>1 </li></ul></ul><ul><ul><li>126 </li></ul></ul><ul><ul><li>298 </li></ul></ul>anibal:
  43. 43. Questões <ul><li>Qual é o valor decimal dos seguintes inteiros binários sem sinal? </li></ul><ul><ul><li>1100 </li></ul></ul><ul><ul><li>100100 </li></ul></ul><ul><ul><li>11111111 </li></ul></ul>anibal:
  44. 44. Questões <ul><li>Calcule o produto dos seguintes pares de inteiros sem sinal. Produza o resultado em 8 bits. </li></ul><ul><ul><li>1001 e 0110 </li></ul></ul><ul><ul><li>1111 e 1111 </li></ul></ul><ul><ul><li>0101 e 1010 </li></ul></ul>anibal:
  45. 45. Questões <ul><li>Quantos bits são necessários para representar os seguintes números decimais como inteiros binários sem sinal? </li></ul><ul><ul><li>12 </li></ul></ul><ul><ul><li>217 </li></ul></ul><ul><ul><li>147 </li></ul></ul><ul><ul><li>387 </li></ul></ul><ul><ul><li>1497 </li></ul></ul>anibal:
  46. 46. Questões <ul><li>Quais são os maiores e os menores inteiros que podem ser representados com valore4s de 4, 8 e 16 bits, utilizando: </li></ul><ul><ul><li>Representação binária sem sinal </li></ul></ul><ul><ul><li>Representação binária em sinal de magnitude </li></ul></ul><ul><ul><li>Representação em complemento de 2 </li></ul></ul><ul><ul><li>Pq as repostas de 2 e 3 são diferentes? </li></ul></ul>anibal:
  47. 47. Questões <ul><li>Converta os seguintes números decimais para a representação de 8 bits em sinal de magnitude e em complemento de 2: </li></ul><ul><ul><li>23 </li></ul></ul><ul><ul><li>-43 </li></ul></ul><ul><ul><li>-48 </li></ul></ul><ul><ul><li>-65 </li></ul></ul>anibal:
  48. 48. Questões <ul><li>Utilizando inteiros de 8 bits em complemento de 2, execute os seguintes cálculos: </li></ul><ul><ul><li>-34 + (-12) </li></ul></ul><ul><ul><li>17 + (-15) </li></ul></ul><ul><ul><li>-22 + (-7) </li></ul></ul><ul><ul><li>18 – (-5) </li></ul></ul>anibal:
  49. 49. Questões <ul><li>Quais valores estão representados pelos seguintes números em ponto flutuante IEEE de precisão simples? </li></ul><ul><ul><li>1011 1101 0100 0000 0000 0000 0000 0000 </li></ul></ul><ul><ul><li>0101 0101 0110 0000 0000 0000 0000 0000 </li></ul></ul><ul><ul><li>1100 0001 1111 0000 0000 0000 0000 0000 </li></ul></ul><ul><ul><li>0011 1010 1000 0000 0000 0000 0000 0000 </li></ul></ul>anibal:
  50. 50. Questões <ul><li>Utilize números em ponto flutuante de precisão simples para calcular os valores: </li></ul><ul><ul><li>32 x 16 </li></ul></ul><ul><ul><li>147,5 x 0,25 </li></ul></ul><ul><ul><li>0,125 x 8 </li></ul></ul><ul><ul><li>13,25 x 4,5 </li></ul></ul>anibal:
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×