Baixe o app para aproveitar ainda mais
Prévia do material em texto
Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Organização de Computadores I Diego Passos Aula 5 Material: http://www.ic.uff.br/~debora/orgcomp/pdf/parte5.html Organização de Computadores I Aula 5 1/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Tópicos Representação de números negativos: Sinal-magnitude. Representação em excesso. Complemento a 2. Overflow. Representação de caracteres. Resumo. Organização de Computadores I Aula 5 2/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Representação de Números Positivos Basta converter para binário. Cada algarismo vira uma tensão. Negativos Temos apenas dois símbolos: 0 e 1. Como representar o “-”? 3 métodos: Sinal-magnitude. Representação em excesso. Complemento a 2. Organização de Computadores I Aula 5 3/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Sinal-Magnitude Ideia mais intuitiva. Utilizar um bit (mais à esquerda) para determinar se o número é positivo ou negativo. Se o primeiro bit é 0, número positivo. Se o primeiro bit é 1, número negativo. Exemplo (com 8 bits) 00000101 = +5. 10000101 = -5. Organização de Computadores I Aula 5 4/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Sinal-Magnitude (Mais) Faixa de valores Com números de n bits, sendo 1 de sinal: Podemos representar 2n−1 valores positivos: 0, 1, 2, …, 2n−1 − 1. Mudando o bit de sinal, podemos escrever até −(2n−1 − 1). Exemplo: P/ n = 4, a faixa vai de −7 a 7. Problemas Duas representações para o zero: 0000 e 1000. Processo de adição e subtração complicado. Organização de Computadores I Aula 5 5/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Soma e Subtração Algoritmo de Soma Compara-se os sinais dos dois números. Se são iguais, as magnitudes são somadas e o sinal resultante é o mesmo. Senão: Encontra-se o valor de maior magnitude. Dele, subtrai-se a magnitude do outro valor. Ao resultado, coloca-se o sinal do valor de maior magnitude. Subtração Altera-se o sinal do subtraendo. Executa-se o algoritmo de soma. Organização de Computadores I Aula 5 6/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Exemplos de Soma 10 001010 +15 001111 −−− −−−− +25 011001 −18 110010 −4 100100 −−− −−−− −22 110110 15 001111 −4 100100 −−− −−−− +11 001011 −18 110010 +10 001010 −−− −−−− −8 101000 Organização de Computadores I Aula 5 7/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Representação em Excesso Escolhe-se um valor, denominado excesso. Para representar um valor qualquer, soma-se o excesso, obtendo-se os bits resultantes. Exemplo: Representar −18 com 6 bits e excesso de 31. −18 + 31 = 13. Em binário, 001101. Faixa de valores: Valor mais negativo: −excesso. Valor mais positivo: 2n − 1− excesso. Organização de Computadores I Aula 5 8/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Complemento a 2 Intuição Suponha que queremos calcular 7− 2. Podemos reescrever a expressão como 7− 2 + 10− 10. Ou ainda: 7 + 8− 10. Efetuando a soma 7 + 8, encontramos 15. O algarismo 1 sume ao fazermos a subtração do 10. Resultado: 7− 2 = 5. Neste procedimento, o 8 = 10− 2 é chamado complemento a 10 do número 2 (considerando apenas um algarismo). Podemos transformar subtrações em somas, utilizando complementos. Organização de Computadores I Aula 5 9/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Complemento a 2 (Mais) Representação Números positivos são representados normalmente, na sua forma binária. Eles sempre terão o bit mais a esquerda igual a zero. Os números negativos terão a representação 2n −N , onde: n é o número de bits da representação. N é o valor absoluto do número a ser representado. Organização de Computadores I Aula 5 10/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Complemento a 2 (Exemplos) Com 3 bits −4→ 1000− 100 = 100 −3→ 1000− 011 = 101 −2→ 1000− 010 = 110 −1→ 1000− 001 = 111 0→ 000 1→ 001 2→ 010 3→ 011 Organização de Computadores I Aula 5 11/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Complemento a 2 (Algoritmo) Se o número é positivo… Basta converter o valor para binário. Exemplos: 7, com 4 bits: 0111. 27, com 8 bits: 00011011. Se o número é negativo… Converte-se o valor absoluto para binário. Inverte-se os bits e soma-se 1. Exemplos: -7, 4 bits: 0111→ 1000→ 1001. -27, 8 bits: 00011011→ 11100100→ 11100101. Organização de Computadores I Aula 5 12/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Complemento a 2 (Valor) Dado um valor em complemento a dois, o que ele representa? Se o bit mais a esquerda é zero, basta converter de binário para decimal. Exemplos: 0111→ 7. 0101→ 5. Se o bit mais a esquerda é um: Inverte-se os bits. Soma-se 1. Converte-se o resultado para decimal. Exemplos: 1010→ 0101→ 0110→ -6. 1000→ 0111→ 1000→ -8. Organização de Computadores I Aula 5 13/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Complemento a 2 (Propriedades) Com n dígitos… Maior valor positivo: 2n−1 − 1. Menor valor negativo: −2n−1. Quantidade de zeros: apenas 1. Somas (e subtrações) muito simplificadas. Organização de Computadores I Aula 5 14/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Complemento a 2 (Soma) Os valores são somados normalmente: 11 00001011 +21 00010101 −−− −−−− 32 00100000 Organização de Computadores I Aula 5 15/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Complemento a 2 (Subtração) Calcula-se o negativo do subtraendo (em complemento a 2). Realiza-se a soma, desprezando o último vai um (se houver): 21 00010101 −11 11110101 −−− −−−− 10 100001010 11 00001011 −21 11101011 −−− −−−− −10 11110110 Organização de Computadores I Aula 5 16/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Overflow Ocorre quando um número não pode ser representado com a quantidade de bits disponível. Exemplo: somamos 1 e 3, utilizando 3 bits e complemento a 2. 1 001 +3 011 −−− −−−− −4 100 Em uma soma, só ocorre overflow quando trabalhamos com operandos de mesmo sinal. Organização de Computadores I Aula 5 17/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Detectando Overflow I Somando dois números positivos 00 2 010 +1 001 −−− −−−− 3 011(Ok) 01 3 011 +1 001 −−− −−−− −4 100(Overflow) Somando dois números negativos 11 −2 110 −1 111 −−− −−−− −3 101(Ok) 10 −4 100 −1 111 −−− −−−− +3 011(Overflow) Organização de Computadores I Aula 5 18/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Detectando Overflow II cn cn−1 Overflow 0 0 Não 1 0 Sim 0 1 Sim 1 1 Não Nos exemplos que vimos, quando os dois últimos vai um são diferentes, há overflow. Isto sempre ocorre! Organização de Computadores I Aula 5 19/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Tabela ASCII American Standard for Computer Information Interchange. Associa valores numéricos a caracteres. 65(10) representa o caracter “A”. Propriedades Há as versões maiúsculas e minúsculas dos caracteres (“A” tem valor 65(10), enquanto “a” tem valor 97(10)). As letras aparecem em ordem alfabética no código (e.g., “A” < “B”). Existem caracteres numéricos: “8” tem valor 56(10). “5” tem valor 53(10). Os algarismos da base 10 aparecem em ordem, a partirdo “0” na posição 48(10). Organização de Computadores I Aula 5 20/21 Agenda Negativos Overflow Caracteres Resumo 9 de maio 2010 Para Lembrar Números negativos Sinal-magnitude. Representação em excesso. Complemento a 2. Overflow O que é? Quando ocorre? Como verificar? Representação de Caracteres Propriedades da tabela ASCII. Organização de Computadores I Aula 5 21/21 Negativos Overflow Caracteres Resumo
Compartilhar