Arquitetura de Computadores Universidade do Oeste de Santa Catarina
Conceitos da Lógica Digital Introdução Máquinas projetadas para armazenar 0 e 1. Computador, constitui-se: elementos eletrônicos como resistores, transistores  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.
Tipos de Sistemas de Numeração 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. 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.  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.
Tipos de Sistemas de Numeração Posicionais Base 10 – {0,1,2,3,4,5,6,7,8,9,0} Base 8 – {0,1,2,3,4,5,6,7} Base 2 – {0,1} Base 16 –   {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} 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
Representação de Números Fórmula geral Fórmula Expandida  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.
Representação de Números Exercício:Aplicar as fórmulas apresentadas nos seguintes conjuntos de algarismos: 45 10 789 10 5690 10 7890 10 89523 10 Conversão de Bases anibal:
Representação de Números Exercício:Aplicar as fórmulas apresentadas nos seguintes conjuntos de algarismos: 45 16 742 8 10111010 2 Conversão de Bases anibal:
Transformação entre bases  Método Polinomial 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.
Transformação entre bases  Método das Subtrações 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.
Transformação entre bases  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 Conversão de Bases anibal:  Usa-se essa conversão, principalmente, quando deseja-se  converter algo de decimal  para binário.
Transformação entre bases  Método das Divisões com resto igual a x 0 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.
Transformação entre bases 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 Conversão de Bases anibal:
Transformação entre bases  Método da Substituição Direta Conversão de Base 2 para Base B n 10000111 =  0 10 000 111 = 207 (Octal) Conversão de Base B n para Base 2 207 (Octal) = 010 000 111 (Binário) 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.
Questões Converter para decimal os seguintes números: 101010 (Base 2) 1010 (Base 3) 1021 (Base 4) 1025 (Base 6) E1A (Base 16) anibal:
Questões Usando o método de divisões, converter os seguintes números decimais para as bases indicadas: 96 para a ternária 56 para a base binária 96 para a base octal 56 para a base hexadecimal anibal:
Questões Usando o método de subtrações, converter os seguintes números decimais para as bases indicadas: 96 para a ternária 258 para a base binária 96 para a base octal 56 para a base hexadecimal anibal:
Questões Usando o método das substituições converter para a base indicada: 101100011010(B2) para a B8 00101100101(B2) para a B16 347(B8) para a B2 7E4B(B16) para a B2 anibal:
Questões Converter para binário os seguintes números decimais: 39 0,4479 256,75 129,5625 anibal:
Aritmética Computacional Arimética Não-Decimal  Operações Aritméticas sem sinal Operações Aritméticas com sinal Inteiros e Fracionários anibal:
Aritmética Computacional Soma de Números Binários sem sinal 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. Regra base: 0 + 0 = 0 1 + 0 = 1 0 + 1 = 1 1 + 1 = 0 e “vai um”
Aritmética Computacional Subtração de Números Binários sem sinal 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.  Regra base: 0 - 0 = 0 1 - 0 = 1 0 - 1 = 1 e “pede  um” 1 - 1 = 0
Aritmética Computacional Multiplicação de Números Binários sem sinal anibal: Regra base: 0 . 0 = 0 1 . 0 = 0 0 . 1 = 1 1 . 1 = 1
Aritmética Computacional Divisão de Números Binários sem sinal anibal: Dividendo/ divisor = quociente e resto. Regras Base: 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; Encontrado esse valor, registra-se 1 para o quociente; 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); 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; Repete-se o processo a partir do item b, até que se esgotem os algarismos do dividendo. Regra base: 0 / 0 = “erro” 1 / 0 = “erro” 0 / 1 = 0 1 / 1 = 1
Aritmética Computacional Exemplos Somar 23 10  e   22 10  e 357 10  e 315 10 . Subtrair 128 10  e   87 10  e 357 10  e 315 10 . Multiplicar 128 10  e   865 10  e 57 10  e 5 10 . Dividir 128 10  e   64 10  e 32 10  e 8 10 . anibal:
Aritmética Computacional Overflow Acontece quando o resultado de uma soma não poder ser armazenada no número de bits disponíveis. Somar 10 10  e   13 10  (4 bits). Carry Out (Vai Um) =  Overflow  anibal:
Aritmética Computacional Números Binários com sinal Para representármos n bits usa-se: 1 = “-” 0 = “+” 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
Aritmética Computacional Números Binários com sinal Exemplos  (1 bit para sinal e 4 bits para a magnitude) : 5 10  e   –5 10 0 10  e   –0 10 1 10  e   –1 10 15 10  e   –15 10 anibal:
Aritmética Computacional Números Binários com sinal – Complemento de (B-1) ou 1 Determinação do sinal: 1 representa o sinal - 0 representa o sinal + Determinação da magnitude: +7 10 (em 4 bits) tem-se:  0 1 1 1   -7 10 (em 4 bits) tem-se:  1 0 0 0  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. 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: Base par:[ -(B n /2-1) ,+(B n /2-1) ] Base ímpar: [ -(B n -3) / 2, +(B n -1) /2 ] Sinal Magnitude Sinal Magnitude B-1-x i
Aritmética Computacional Números Binários com sinal – Complemento de (B-1) ou 1 Soma A e B: Se A(+2) e B (+3) – OK Se A(-2) e B (-3) – * Se A(+3) e B (-2) – * Se A(+2) e B(-3) – OK Se A(-3) e B (+2) – OK Se A(-2) e B(+3) – * * Se ocorrer um “vai um” ao resultado, deve-se somar um ao resultado para corrigilo.  anibal:
Aritmética Computacional Números Binários com sinal – Complemento de (B) ou 2 Determinação do sinal: 1 representa o sinal - 0 representa o sinal + Determinação da magnitude: Calcula-se o B-1  e depois soma-se 1 ao resultado. 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: Base par:[ -(B n /2) ,+(B n /2-1) ] Base ímpar: [ -(B n -1) / 2, +(B n -1) /2 ] Nota-se que a gama de representação é dividida em dois subconjuntos, um para números negativos e outra para positivos.
Aritmética Computacional Números Binários com sinal – Complemento de B ou 2 Soma A e B: Se A(+2) e B (+3) – OK Se A(-2) e B (-3) – * Se A(+3) e B (-2) – * Se A(+2) e B(-3) – OK Se A(-3) e B (+2) – OK Se A(-2) e B(+3) – * * Se ocorrer um “vai um” ao resultado, deve-se ignorar sua existência. anibal:
Aritmética Computacional Números Binários com sinal – Análise dos Métodos Sinal de Magnitude e Complemento de 1 Duas representações para o zero Simetria de Positivos e Negativos Dificuldade em fazer operações  Complemento de 2 Uma representação para o zero Um negativo a mais que os positivos anibal:
Aritmética Computacional Estouro de representação Números em computador são limitados Somas (Overflow): Dois operandos tiverem sinais diferente, nunca há overflow.  Dois operandos tiverem sinais iguais, e este sinal for diferente do sinal obtido para o resultado. 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. Por exemplo, para números binários de 4 dígitos, tem-se:  -8 +1 = -7 (correto) -8 +(-1) = 7 (incorreto; deveria ser –9) 7 +(-1)= 6 (correto) 7+3 = -6 (incorreto; deveria ser 10)
Aritmética Computacional Números em Ponto Flutuante Números fracionários Números além da quantidade de bits necessária Representação dos números 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.
Aritmética Computacional Números em Ponto Flutuante IEEE 754 especifica diferentes larguras de bits para números em PF. Precisão simples Precisão dupla 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
Aritmética Computacional Números em Ponto Flutuante Representar o número 6,25 em ponto flutuante de precisão simples 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.
Aritmética Computacional Números em Ponto Flutuante Expoente trabalha com uma representação chamada por excesso Precisão Simples: 127 Precisão Dupla: 1023 Obtido através da subtração do excesso pelo número binário sem sinal contido no campo. 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.
Aritmética Computacional Números em Ponto Flutuante Precisão simples ou dupla Descobrir o número decimal do seguinte número em precisão simples: 0100 0000 0110 0000 0000 0000 0000 0000 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.
Aritmética Computacional Aritmética com Números em Ponto Flutuante Multiplicação  – regras: Somar os expoentes e subtrair do excesso Multiplicar as mantissas Ajustar expoente e deslocar e arredondar o produto da mantissa Exemplo1:  e  Exemplo 2: Multiplicar 2,5 por 0,75. 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.
Aritmética Computacional Aritmética com Números em Ponto Flutuante Adição – regras: Deslocar uma das entradas até que ambas tenham o mesmo expoente (geralmente da menor para a maior) Mantissas são somadas (resultado é deslocado se necessário) Exemplo1:  e  Exemplo 2: Somar 1,5 por 0,25. anibal:  Subtração é feita a partir das diferenças.
Aritmética Computacional Números Inteiros e Ponto Flutuante têm limitações: A faixa de bits (largura de bits) Cálculos que exijam uma maior precisão do que a representação em ponto flutuante não executarão as operações corretamente. anibal:
Questões Mostre como os seguintes inteiros seriam representados por um sistema que utiliza inteiros de 8 bits sem sinal.  37 89 4 1 126 298 anibal:
Questões Qual é o valor decimal dos seguintes inteiros binários sem sinal?  1100 100100 11111111 anibal:
Questões Calcule o produto dos seguintes pares de inteiros sem sinal. Produza o resultado  em 8 bits. 1001 e 0110 1111 e 1111 0101 e 1010 anibal:
Questões Quantos bits são necessários para representar os seguintes números decimais como inteiros binários sem sinal? 12 217 147 387 1497 anibal:
Questões Quais são os maiores e os menores inteiros que podem ser representados com valore4s de 4, 8 e 16 bits, utilizando: Representação binária sem sinal Representação binária em sinal de magnitude  Representação em complemento de 2 Pq as repostas de 2 e 3 são diferentes? anibal:
Questões Converta os seguintes números decimais para a representação de 8 bits em sinal de magnitude e em complemento de 2: 23 -43 -48 -65 anibal:
Questões Utilizando inteiros de 8 bits em complemento de 2, execute os seguintes cálculos: -34 + (-12) 17 + (-15) -22 + (-7) 18 – (-5) anibal:
Questões Quais valores estão representados pelos seguintes números em ponto flutuante IEEE de precisão simples? 1011 1101 0100 0000 0000 0000 0000 0000 0101 0101 0110 0000 0000 0000 0000 0000 1100 0001 1111 0000 0000 0000 0000 0000 0011 1010 1000 0000 0000 0000 0000 0000 anibal:
Questões Utilize números em ponto flutuante de precisão simples para calcular os valores: 32 x 16 147,5 x 0,25 0,125 x 8 13,25 x 4,5  anibal:

arquitetura de computadores

  • 1.
    Arquitetura de ComputadoresUniversidade do Oeste de Santa Catarina
  • 2.
    Conceitos da LógicaDigital Introdução Máquinas projetadas para armazenar 0 e 1. Computador, constitui-se: elementos eletrônicos como resistores, transistores 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.
    Tipos de Sistemasde Numeração 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. 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. 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.
    Tipos de Sistemasde Numeração Posicionais Base 10 – {0,1,2,3,4,5,6,7,8,9,0} Base 8 – {0,1,2,3,4,5,6,7} Base 2 – {0,1} Base 16 – {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} 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.
    Representação de NúmerosFórmula geral Fórmula Expandida 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.
    Representação de NúmerosExercício:Aplicar as fórmulas apresentadas nos seguintes conjuntos de algarismos: 45 10 789 10 5690 10 7890 10 89523 10 Conversão de Bases anibal:
  • 7.
    Representação de NúmerosExercício:Aplicar as fórmulas apresentadas nos seguintes conjuntos de algarismos: 45 16 742 8 10111010 2 Conversão de Bases anibal:
  • 8.
    Transformação entre bases Método Polinomial 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.
    Transformação entre bases Método das Subtrações 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.
    Transformação entre bases 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 Conversão de Bases anibal: Usa-se essa conversão, principalmente, quando deseja-se converter algo de decimal para binário.
  • 11.
    Transformação entre bases Método das Divisões com resto igual a x 0 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.
    Transformação entre basesMé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 Conversão de Bases anibal:
  • 13.
    Transformação entre bases Método da Substituição Direta Conversão de Base 2 para Base B n 10000111 = 0 10 000 111 = 207 (Octal) Conversão de Base B n para Base 2 207 (Octal) = 010 000 111 (Binário) 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.
    Questões Converter paradecimal os seguintes números: 101010 (Base 2) 1010 (Base 3) 1021 (Base 4) 1025 (Base 6) E1A (Base 16) anibal:
  • 15.
    Questões Usando ométodo de divisões, converter os seguintes números decimais para as bases indicadas: 96 para a ternária 56 para a base binária 96 para a base octal 56 para a base hexadecimal anibal:
  • 16.
    Questões Usando ométodo de subtrações, converter os seguintes números decimais para as bases indicadas: 96 para a ternária 258 para a base binária 96 para a base octal 56 para a base hexadecimal anibal:
  • 17.
    Questões Usando ométodo das substituições converter para a base indicada: 101100011010(B2) para a B8 00101100101(B2) para a B16 347(B8) para a B2 7E4B(B16) para a B2 anibal:
  • 18.
    Questões Converter parabinário os seguintes números decimais: 39 0,4479 256,75 129,5625 anibal:
  • 19.
    Aritmética Computacional AriméticaNão-Decimal Operações Aritméticas sem sinal Operações Aritméticas com sinal Inteiros e Fracionários anibal:
  • 20.
    Aritmética Computacional Somade Números Binários sem sinal 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. Regra base: 0 + 0 = 0 1 + 0 = 1 0 + 1 = 1 1 + 1 = 0 e “vai um”
  • 21.
    Aritmética Computacional Subtraçãode Números Binários sem sinal 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. Regra base: 0 - 0 = 0 1 - 0 = 1 0 - 1 = 1 e “pede um” 1 - 1 = 0
  • 22.
    Aritmética Computacional Multiplicaçãode Números Binários sem sinal anibal: Regra base: 0 . 0 = 0 1 . 0 = 0 0 . 1 = 1 1 . 1 = 1
  • 23.
    Aritmética Computacional Divisãode Números Binários sem sinal anibal: Dividendo/ divisor = quociente e resto. Regras Base: 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; Encontrado esse valor, registra-se 1 para o quociente; 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); 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; Repete-se o processo a partir do item b, até que se esgotem os algarismos do dividendo. Regra base: 0 / 0 = “erro” 1 / 0 = “erro” 0 / 1 = 0 1 / 1 = 1
  • 24.
    Aritmética Computacional ExemplosSomar 23 10 e 22 10 e 357 10 e 315 10 . Subtrair 128 10 e 87 10 e 357 10 e 315 10 . Multiplicar 128 10 e 865 10 e 57 10 e 5 10 . Dividir 128 10 e 64 10 e 32 10 e 8 10 . anibal:
  • 25.
    Aritmética Computacional OverflowAcontece quando o resultado de uma soma não poder ser armazenada no número de bits disponíveis. Somar 10 10 e 13 10 (4 bits). Carry Out (Vai Um) = Overflow anibal:
  • 26.
    Aritmética Computacional NúmerosBinários com sinal Para representármos n bits usa-se: 1 = “-” 0 = “+” 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.
    Aritmética Computacional NúmerosBinários com sinal Exemplos (1 bit para sinal e 4 bits para a magnitude) : 5 10 e –5 10 0 10 e –0 10 1 10 e –1 10 15 10 e –15 10 anibal:
  • 28.
    Aritmética Computacional NúmerosBinários com sinal – Complemento de (B-1) ou 1 Determinação do sinal: 1 representa o sinal - 0 representa o sinal + Determinação da magnitude: +7 10 (em 4 bits) tem-se: 0 1 1 1 -7 10 (em 4 bits) tem-se: 1 0 0 0 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. 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: Base par:[ -(B n /2-1) ,+(B n /2-1) ] Base ímpar: [ -(B n -3) / 2, +(B n -1) /2 ] Sinal Magnitude Sinal Magnitude B-1-x i
  • 29.
    Aritmética Computacional NúmerosBinários com sinal – Complemento de (B-1) ou 1 Soma A e B: Se A(+2) e B (+3) – OK Se A(-2) e B (-3) – * Se A(+3) e B (-2) – * Se A(+2) e B(-3) – OK Se A(-3) e B (+2) – OK Se A(-2) e B(+3) – * * Se ocorrer um “vai um” ao resultado, deve-se somar um ao resultado para corrigilo. anibal:
  • 30.
    Aritmética Computacional NúmerosBinários com sinal – Complemento de (B) ou 2 Determinação do sinal: 1 representa o sinal - 0 representa o sinal + Determinação da magnitude: Calcula-se o B-1 e depois soma-se 1 ao resultado. 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: Base par:[ -(B n /2) ,+(B n /2-1) ] Base ímpar: [ -(B n -1) / 2, +(B n -1) /2 ] Nota-se que a gama de representação é dividida em dois subconjuntos, um para números negativos e outra para positivos.
  • 31.
    Aritmética Computacional NúmerosBinários com sinal – Complemento de B ou 2 Soma A e B: Se A(+2) e B (+3) – OK Se A(-2) e B (-3) – * Se A(+3) e B (-2) – * Se A(+2) e B(-3) – OK Se A(-3) e B (+2) – OK Se A(-2) e B(+3) – * * Se ocorrer um “vai um” ao resultado, deve-se ignorar sua existência. anibal:
  • 32.
    Aritmética Computacional NúmerosBinários com sinal – Análise dos Métodos Sinal de Magnitude e Complemento de 1 Duas representações para o zero Simetria de Positivos e Negativos Dificuldade em fazer operações Complemento de 2 Uma representação para o zero Um negativo a mais que os positivos anibal:
  • 33.
    Aritmética Computacional Estourode representação Números em computador são limitados Somas (Overflow): Dois operandos tiverem sinais diferente, nunca há overflow. Dois operandos tiverem sinais iguais, e este sinal for diferente do sinal obtido para o resultado. 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. Por exemplo, para números binários de 4 dígitos, tem-se: -8 +1 = -7 (correto) -8 +(-1) = 7 (incorreto; deveria ser –9) 7 +(-1)= 6 (correto) 7+3 = -6 (incorreto; deveria ser 10)
  • 34.
    Aritmética Computacional Númerosem Ponto Flutuante Números fracionários Números além da quantidade de bits necessária Representação dos números 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.
    Aritmética Computacional Númerosem Ponto Flutuante IEEE 754 especifica diferentes larguras de bits para números em PF. Precisão simples Precisão dupla 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.
    Aritmética Computacional Númerosem Ponto Flutuante Representar o número 6,25 em ponto flutuante de precisão simples 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.
    Aritmética Computacional Númerosem Ponto Flutuante Expoente trabalha com uma representação chamada por excesso Precisão Simples: 127 Precisão Dupla: 1023 Obtido através da subtração do excesso pelo número binário sem sinal contido no campo. 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.
    Aritmética Computacional Númerosem Ponto Flutuante Precisão simples ou dupla Descobrir o número decimal do seguinte número em precisão simples: 0100 0000 0110 0000 0000 0000 0000 0000 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.
    Aritmética Computacional Aritméticacom Números em Ponto Flutuante Multiplicação – regras: Somar os expoentes e subtrair do excesso Multiplicar as mantissas Ajustar expoente e deslocar e arredondar o produto da mantissa Exemplo1: e Exemplo 2: Multiplicar 2,5 por 0,75. 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.
    Aritmética Computacional Aritméticacom Números em Ponto Flutuante Adição – regras: Deslocar uma das entradas até que ambas tenham o mesmo expoente (geralmente da menor para a maior) Mantissas são somadas (resultado é deslocado se necessário) Exemplo1: e Exemplo 2: Somar 1,5 por 0,25. anibal: Subtração é feita a partir das diferenças.
  • 41.
    Aritmética Computacional NúmerosInteiros e Ponto Flutuante têm limitações: A faixa de bits (largura de bits) Cálculos que exijam uma maior precisão do que a representação em ponto flutuante não executarão as operações corretamente. anibal:
  • 42.
    Questões Mostre comoos seguintes inteiros seriam representados por um sistema que utiliza inteiros de 8 bits sem sinal. 37 89 4 1 126 298 anibal:
  • 43.
    Questões Qual éo valor decimal dos seguintes inteiros binários sem sinal? 1100 100100 11111111 anibal:
  • 44.
    Questões Calcule oproduto dos seguintes pares de inteiros sem sinal. Produza o resultado em 8 bits. 1001 e 0110 1111 e 1111 0101 e 1010 anibal:
  • 45.
    Questões Quantos bitssão necessários para representar os seguintes números decimais como inteiros binários sem sinal? 12 217 147 387 1497 anibal:
  • 46.
    Questões Quais sãoos maiores e os menores inteiros que podem ser representados com valore4s de 4, 8 e 16 bits, utilizando: Representação binária sem sinal Representação binária em sinal de magnitude Representação em complemento de 2 Pq as repostas de 2 e 3 são diferentes? anibal:
  • 47.
    Questões Converta osseguintes números decimais para a representação de 8 bits em sinal de magnitude e em complemento de 2: 23 -43 -48 -65 anibal:
  • 48.
    Questões Utilizando inteirosde 8 bits em complemento de 2, execute os seguintes cálculos: -34 + (-12) 17 + (-15) -22 + (-7) 18 – (-5) anibal:
  • 49.
    Questões Quais valoresestão representados pelos seguintes números em ponto flutuante IEEE de precisão simples? 1011 1101 0100 0000 0000 0000 0000 0000 0101 0101 0110 0000 0000 0000 0000 0000 1100 0001 1111 0000 0000 0000 0000 0000 0011 1010 1000 0000 0000 0000 0000 0000 anibal:
  • 50.
    Questões Utilize númerosem ponto flutuante de precisão simples para calcular os valores: 32 x 16 147,5 x 0,25 0,125 x 8 13,25 x 4,5 anibal: