Buscar

Representação de Números e Caracteres em Computadores

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

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes