• Nenhum resultado encontrado

Representação de Números Inteiros com Sinal

N/A
N/A
Protected

Academic year: 2021

Share "Representação de Números Inteiros com Sinal"

Copied!
34
0
0

Texto

(1)

Fundamentos de Arquiteturas de Computadores

Representação de

Números Inteiros com Sinal

Profa. Débora Christina Muchaluat Saade

debora@midiacom.uff.br

Departamento de Ciência da Computação - UFF

(2)

Fundamentos de Arquiteturas de Computadores

Roteiro

ü

Representação em Sinal e Magnitude

ü

Representação em Complemento

(3)

Fundamentos de Arquiteturas de Computadores

Números Inteiros com Sinal

ü Com n dígitos binários, podemos representar 2n

valores diferentes de inteiros sem sinal.

ü Exemplo utilizando-se 3 dígitos:

000 0001 1010 2011 3100 4101 5110 6111 7

(4)

Fundamentos de Arquiteturas de Computadores

Representação em

Sinal e Magnitude

(5)

Fundamentos de Arquiteturas de Computadores

Representação em Sinal e Magnitude

ü O bit mais à esquerda é o sinal e os restantes

fornecem a magnitude do número (em binário).

ü Sinal:

0 para números positivos 1 para números negativos

ü Exemplo com 8 bits:

00000101 = +510000101 = -5

ü Faixa de valores com n dígitos:

-(2n-1-1) a + (2n-1-1)

ü Para n=4, teremos a faixa -7 a +7

Sinal Magnitude

n bits

n-1 bits 1 bit

(6)

Fundamentos de Arquiteturas de Computadores

Representação em Sinal e Magnitude

ü Porque não é utilizado pelos processadores ?

duas representações para o zero (+0 e -0):

– por exemplo, 0000 e 1000.

ü processo de adição e subtração complicado

Sinal Magnitude

n bits

n-1 bits 1 bit

(7)

Fundamentos de Arquiteturas de Computadores

Representação em Sinal e Magnitude

ü Algoritmo de soma:

Verificam-se os sinais dos números e efetua-se uma

comparação entre eles

Se ambos possuem o mesmo sinal

– somam-se as magnitudes e o sinal do resultado é o mesmo das parcelas

Se os números possuem sinais diferentes:

– identifica-se a maior das magnitudes e registra-se o seu sinal

subtrai-se a magnitude menor da maior

o sinal do resultado é igual ao sinal de maior

(8)

Fundamentos de Arquiteturas de Computadores

Exemplo de SM com 6 bits e mesmo sinal

+ 10

+ 15

+ 25

001010

+ 001111

011001

- 18

- 4

- 22

1

10010

+ 100100

1

10110

Base 10 Base 2

(9)

Fundamentos de Arquiteturas de Computadores

Exemplo de SM com 6 bits e sinal diferente

+ 15

-

4

+ 11

001111

+ 100100

001011

- 18

+ 10

- 08

1

10010

+ 001010

101000

Base 10 Base 2

(10)

Fundamentos de Arquiteturas de Computadores

Representação em Sinal e Magnitude

ü Algoritmo de subtração:

Troca-se o sinal do subtraendoExecuta algoritmo de soma

ü Exemplo: -18 - (+12)= -18 + (-12)

- 18

- 12

- 30

1

10010

+ 101100

1

11110

Base 10 Base 2

(11)

Fundamentos de Arquiteturas de Computadores

Representação em Sinal e Magnitude

ü Processo de adição e subtração complicado

Custo: 1 elemento para soma e outro para subtraçãoVelocidade: manipulação de sinal

Sinal Magnitude

n bits

n-1 bits 1 bit

(12)

Fundamentos de Arquiteturas de Computadores

Representação em

Complemento

(13)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento

ü Como representar números negativos no sistema

decimal com 3 algarismos ?

|---|---|---|---|--|

000 250 499 750 998 999

ü Divide o sistema em 2, utiliza uma metade para

positivos e a outra para negativos.

|---|---| |---|---|--|

000 250 499 500 750 998 999

(14)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 10

ü Como calcular o complemento?

Positivos são os próprios números:

– 0 a +499 => 0 a 499

Negativos são o complemento a 10 do número positivo

– -500 a -1 => 500 ao 999

ü Complemento a base = Bn-N onde n é o número de

algarismos que temos para representar um número.

-500 = 103 - 500 = 1000 - 500 = 500-499 = 103 - 499 = 1000 - 499= 501-1 = 103 - 1 = 1000 - 1 = 999

(15)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 10

ü Qual a vantagem ?

Só precisamos somar números e resultado é sempre

representado corretamente. ü Exemplo de soma:

-2 +3 = ?

Complemento a 10 de -2 = 103 - 2 =998 Complemento a 10 de +3 = 003

somando 998+003=1001, descartando o 1 à esquerda,

(16)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 10

ü Para subtrair:A - B = A + (-B) ü Exemplo:-3 -5 = -3 + (-5)-3 = 103 - 3 =997-5 = 103 - 5 =995

997 + 995 = 1992, retirando o 1 à esquerda temos o

resultado 992 que é negativo

Para sabermos o valor fazemos o complemento103 - x = 992, x = 8

(17)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 2

ü Se existem n dígitos para representar o número:

Se o número for positivo dn-1=0

Se o número for negativo dn-1=1 e a representação é

2n-N onde N é a representação positiva

|---|---| |---|---|

000 010 011 100 101 111

positivos | negativos

(18)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 2

ü Com n dígitos para representar o número:

Número 0 só tem 1 representação: 0...0

Representação de números positivos: 1 a (2n-1-1)Representação de números negativos: -1 a (-2n-1)Faixa de valores: -2n-1 a (2n-1-1)

(19)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 2

ü Como representar um número em complemento a 2? ü Se o número for positivo

dn-1=0 magnitude do número é dn-2x2n-2 + d n-3x2n-3 + ... + d1x 21 + d0x20 ü Exemplo: +7 utilizando-se 4 bits = 0111+27 utilizando-se 8 bits = 00011011

(20)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 2

ü Como representar um número em complemento a 2? ü Se o número for negativo

C2(-N)=2n-N, onde N é a representação sem sinal da

magnitude do número negativo

C2(-N)=2n-N=((2n-1)-N)+1Mas (2n-1)=011111..11 e

(011111..11-N) é igual a inverter os bits de N

Logo para achar a representação complemento a 2 de

números negativos, inverte-se o número na representação dele positiva e soma-se 1

(21)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 2

ü Como representar um número em complemento a 2? ü Se o número for negativo

inverte-se o número na representação dele positiva e

soma-se 1

Inverter significa trocar bits 0 e 1

ü Exemplo:

Representação de -7 utilizando-se 4 bits:

– 7 em binário com 4 bits: 0111 – inverte(0111) = 1000

(22)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 2

ü Como representar um número em complemento a 2? ü Se o número for negativo

inverte-se o número na representação dele positiva e

soma-se 1

Inverter significa trocar bits 0 e 1

ü Exemplo:

Representação de -27 com 8 bits

– 27 em binário com 8 bits: 00011011 – inverte(00011011) = 11100100

(23)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 2

ü Dado um número representado em complemento a 2

com n bits, o que ele está representando na base 10?N=(dn-1dn-2 ... d1d0)

ü O bit mais significativo é o bit de sinal

Se dn-1 é 0, o número é positivo dado por:

– N=dn-2x2n-2 + dn-3x2n-3 + ... + d1x 21 + d020

ü Exemplo:

n=4 bits

N=0111 => N = +710N=0100 => N = +410

(24)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 2

ü Dado um número representado em complemento a 2

com n bits, o que ele está representando na base 10?N=(dn-1dn-2 ... d1d0)

ü O bit mais significativo é o bit de sinal

Se dn-1 é 1, o número é negativo.

ü Como achar que número ele representa ?

C2(C2(-N))=2n - (2n-N) = N

ü Logo para descobrir a magnitude de um número

negativo representado em complemento a 2, inverte-se o número na repreinverte-sentação dele inverte-sem sinal e soma-se 1.

(25)

Fundamentos de Arquiteturas de Computadores

Representação em Complemento a 2

ü Logo para descobrir a magnitude de um número

negativo representado em complemento a 2, inverte-se o número na repreinverte-sentação dele inverte-sem sinal e soma-se 1.

ü Ex.: O que representa 11100101 ?

inv(11100101) = 00011010

Soma 1 => 00011010 + 1 = 00011011 Converte 00011011 para decimal => 27

LEMBRAR DO SINAL – (número negativo)Resultado -27

(26)

Fundamentos de Arquiteturas de Computadores

Soma e Subtração em Complemento a 2

ü Soma: N1 + N2

ü Subtração: N1 - N2 = N1 + (- N2) e joga fora o vai um ü Ex.: Somar +11 com +21

+ 11

+ 21

+ 32

00001011

+ 00010101

00100000

Base 10 C2

(27)

Fundamentos de Arquiteturas de Computadores

Soma e Subtração em Complemento a 2

ü Soma: N1 + N2 e joga fora o vai um ü Ex.: Somar +21 com -11

+ 21

- 11

+ 10

00010101

+ 11110101

1

00001010

Joga fora último 1

Base 10 C2

(-11) para C2: 00001011 Inv=11110100 +1 =11110101

(28)

Fundamentos de Arquiteturas de Computadores

Soma e Subtração em Complemento a 2

ü Subtração: N1 - N2 = N1 + (- N2) e joga fora o vai um ü Ex.: Subtrair +21 de +11 = +11 – (+21) = +11 + (-21)

+ 11

- 21

- 10

00001011

+ 11101011

11110110

Base 10 C2 (-21) para C2: 00010101 Inv=11101010 +1 =11101011 11110110 Inv=00001001 +1 =00001010 (-10)

(29)

Fundamentos de Arquiteturas de Computadores

Overflow

ü Overflow ocorre quando o número não pode ser

representado com o número de bits disponível.

ü Só ocorrerá overflow quando estivermos somando

(30)

Fundamentos de Arquiteturas de Computadores

Overflow

ü Se temos 3 bits para representar números em complemento a 2, podemos representar os seguintes inteiros com sinal:

011 +3010 +2001 +1000 0111 -1110 -2101 -3100 -4

ü Menor número negativo = -23-1=-4 ü Maior número positivo = 23-1-1=+3

(31)

Fundamentos de Arquiteturas de Computadores

Overflow - Exemplos

ü Soma: N1 + N2 ü Primeiro caso: N1>0, N2>0:

+ 2

+ 1

+ 3

00

010

+ 001

011

Base 10 C2 Ok!

+ 3

+ 1

+ 4

01

011

+ 001

(-4) 100

Overflow

(32)

Fundamentos de Arquiteturas de Computadores

Overflow - Exemplos

ü Soma: N1 + N2 ü Segundo caso: N1<0, N2>0:

+ 2

- 1

+ 1

11

010

+ 111

001

Base 10 C2 Ok!

- 2

+ 1

- 1

00

110

+ 001

111

Ok!

(33)

Fundamentos de Arquiteturas de Computadores

Overflow - Exemplos

ü Soma: N1 + N2 ü Terceiro caso: N1<0, N2<0:

- 2

- 1

- 3

11

110

+ 111

101

Base 10 C2 Ok!

- 1

- 4

- 5

10

111

+ 100

(+3) 011

Overflow

(34)

Fundamentos de Arquiteturas de Computadores

Overflow

ü A=(an-1an-2...a0) ü B=(bn-1bn-2...b0) cn cn-1 an-1 ... a0 + bn-1 ... b0 an-1 bn-1 cn-1 | Overflow ? | cn# cn-1 ? 0 0 0 | Não | Não 0 0 1 | Sim | Sim 0 1 0 | Não | Não 0 1 1 | Não | Não 1 0 0 | Não | Não 1 0 1 | Não | Não 1 1 0 | Sim | Sim 1 1 1 | Não | Não

Referências

Documentos relacionados

Números inteiros: conjunto Z e seus subconjuntos, representação dos números inteiros na reta numerada, valor absoluto de um número inteiro, operações com números inteiros

(D) “A princípio, todo mundo sabe que deve beber muito água, ser otimista, praticar exercícios, seguir a intuição, ter auto-estima, não se exigir demais etc.” 7 - A

2. Identifica as personagens do texto.. Indica o tempo da história. Indica o espaço da história. Classifica as palavras quanto ao número de sílabas. Copia do texto três

1- A vida das comunidades recoletoras era muito difícil, devido ao frio intenso e aos animais ferozes, mas também porque era difícil encontrar comida e lugares onde se abrigarem.. 2-

Um senhorio é um território, pertencente a um Senhor (do Clero ou da Nobreza), em que podemos encontrar terras cultivadas pelos camponeses que vivem no senhorio,

O empregador deverá realizar a avaliação ambiental de poeira de asbesto nos locais de trabalho em intervalos não superiores a seis meses.. Os registros das avaliações deverão

Números inteiros: conjunto Z e seus subconjuntos, representação dos números inteiros na reta numerada, valor absoluto de um número inteiro, operações com números inteiros

(ENEM) O gerente de um cinema fornece anualmente ingressos gratuitos para escolas. Este ano serão distribuídos 400 ingressos para uma sessão vespertina e 320 ingressos para uma