Você está na página 1de 28

UNIVERSIDADE FEDERAL RURAL DO SEMI-RIDO DEPARTAMENTO DE CINCIAS EXATAS E NATURAIS CURSO DE CINCIA DA COMPUTAO

Arquitetura e Organizao de Computadores


Aritmtica Computacional
Prof. Helcio Wagner da Silva

Representao de Nmeros Inteiros


No sistema de numerao binria, possvel representar nmeros inteiros negativos usando:
Dgitos 0 e 1 Sinal de subtrao Vrgula

Exemplo:
-1101,01012 = -13,312510
2

Representao de Nmeros Inteiros


Para armazenar e processar nmeros inteiros

negativos no computador, so usados apenas


os dgitos 0 e 1

Como representar nmeros negativos?


Representao Sinal-Magnitude

Representao em Complemento de Dois


3

Representao Sinal-Magnitude
Em uma palavra de n bits
O bit mais esquerda representa o sinal do nmero inteiro Os n-1 bits mais direita representam a magnitude do nmero inteiro

Exemplo:
+18 = 00010010 -18 = 10010010
4

Representao Sinal-Magnitude
H duas representaes para o zero
+0 = 00000000 -0 = 10000000

mais difcil testar se um valor igual a zero do que no caso em que h apenas uma representao para o zero Por isso, essa representao raramente usada na implementao da parte inteira de uma ULA 5

Representao em Complemento de Dois


A = -2n-1an-1 + n-2i=02iai
Para nmeros inteiros positivos, an-1 = 0 O nmero 0 tratado como um nmero inteiro positivo

Usada para representar nmeros na faixa -2n 2n-1-1


Usada quase universalmente para representar nmeros inteiros dentro do P
6

Representao em Complemento de Dois


Decimal S-M C-2 Decimal S-M C-2

+8 +7 +6 +5 +4 +3 +2 +1 +0

0111 0110 0101 0100 0011 0010 0001 0000

0111 0110 0101 0100 0011 0010 0001 0000

-0 -1 -2 -3 -4 -5 -6 -7 -8

1000 1001 1010 1011 1100 1101 1110 1111 -

1111 1110 1101 1100 1011 1010 1001 1000

Representao em Complemento de Dois


Converso complemento de 2 decimal
-128 1 -128 64 0 32 0 16 0 8 0 4 0 2 1 +2 1 1 +1 = -125

Converso decimal complemento de 2


-120 = -128 1 -128 64 0 32 0 16 0 8 1 +8
8

4 0

2 0

1 0

Representao em Complemento de Dois


s vezes desejvel converter a representao de um nmero inteiro com n bits para sua representao com m bits, onde m>n Na representao sinal-magnitude, isso pode ser feito facilmente
Basta mover o bit de sinal para a posio mais esquerda e preencher as demais posies novas com 0
9

Representao em Complemento de Dois


Exemplos:
+18 = 00010010 (s-m, 8 bits) +18 = 0000000000010010 (s-m, 16 bits) -18 = 10010010 (s-m, 8 bits) -18 = 1000000000010010 (s-m, 16 bits)

Esse procedimento no funciona para nmeros inteiros negativos representados em complemento de dois
10

Representao em Complemento de Dois


Exemplos:
+18 = 00010010 (c-2, 8 bits) +18 = 0000000000010010 (c-2, 16 bits) -18 = 11101110 (c-2, 8 bits) -32.658 = 1000000001101110 (c-2, 16 bits)

A regra mover o bit de sinal para a posio mais esquerda e preencher as demais com valor igual ao bit de sinal
11

Representao em Complemento de Dois


Exemplos:
+18 = 00010010 (c-2, 8 bits)

+18 = 0000000000010010 (c-2, 16 bits) -18 = 11101110 (c-2, 8 bits)

-18 = 1111111111101110 (c-2, 16 bits)

12

Representao em Complemento de Dois


Negao
Para representao s-m, basta inverter o valor do bit de sinal Para a representao em complemento de dois:
Toma-se o complemento booleano de cada bit do nmero Adiciona-se 1 ao resultado

13

Representao em Complemento de Dois


Exemplos:
+18 = 00010010 (c-2) Complemento booleano = 11101101 +1 11101110 = -18 -18 = 11101110 (c-2) Complemento booleano = 00010001 +1 00010010 = +18
14

Representao em Complemento de Dois


Casos especiais de negao
0 = 00000000 (c-2) Complemento booleano = 11111111 +1 100000000 = 0
Bit vai um (carry in) - ignorado

15

Representao em Complemento de Dois


Casos especiais de negao (cont.)
-128 = 10000000 (c-2) Complemento booleano = 01111111 +1 10000000 = -128 Anomalia se deve ao fato que uma palavra de n bits pode conter 2n representaes distintas
2n um nmero par Sendo representados nmeros positivos, negativos e o 0, a qtde de nmeros positivos e negativos so 16 diferentes

Representao em Complemento de Dois


Adio
1001 +0101 1110 (a) (-7) + (+5) = -2 0011 +0100 0111 (c) (+3) + (+4) = +7 0101 +0100 1001 (e) (+5) + (+4) = +9 (overflow) 1100 +0100 10000 (b) (-4) + (+4) = 0 1100 +1111 11011 (d) (-4) + (-1) = -5 1001 +1010 10011 (f) (-7) + (-6) = -13 (overflow)
17

Representao em Complemento de Dois


Subtrao
0010 +1001 1011 (a) M = 2 = 0010 S = 7 = 0111 -S = -7 = 1001 (+2) + (-7) = -5 0101 +1110 10011 (b) M = 5 = 0101 S = 2 = 0010 -S = -2 = 1110 (+5) + (-2) = +3 1011 +1110 11001 (c) M = -5 = 1011 S = 2 = 0010 -S = -2 = 1110 (-5) + (-2) = -7 0101 +0010 0111 (d) M = 5 = 0101 S = -2 = 1110 -S = 2 = 0010 (+5) + (+2) = +7 0111 +0111 1110 (e) M = 7 S = -7 = 1001 -S = 7 = 0111 (+7) + (+7) = 14 (overflow) 1010 +1100 10110 (f) M = -6 = 1010 S = 4 = 0100 -S = -4 = 1100 (-6) + (-4) = -10 (overflow)
18

Representao de Ponto Flutuante


Usada para representar nmeros muito grandes ou muito pequenos
Para nmeros decimais, usa-se a notao cientfica
976.000.000.000.000 = 9,76 x 1014 0,0000000000000976 = 9,76 x 10-14

Para nmeros binrios, temos:

M B
Sinal

Expoente

Mantissa

19

Representao de Ponto Flutuante


Um mesmo nmero pode ser representaes em ponto flutuante
24 = 0,110 x 25 = 110 x 22 = 0,0110 x 26

vrias

Para simplificar as operaes, requerido que os nmeros sejam normalizados

0,1 b0b1b2 ...bn 2


Dgitos binrios implcito

20

Representao de Ponto Flutuante


8 bits Expoente polarizado Sinal da mantissa 23 bits Mantissa 32 bits o sinal armazenado no primeiro bit da palavra o primeiro bit da mantissa verdadeira sempre 1 - por isso no precisa ser armazenado o valor 127 adicionado ao expoente verdadeiro, sendo o resultado denominado Expoente Polarizado

Exemplos: 856.064 = 0,11010001 x 210100 = 0 -856.064 = -0,11010001 x 210100 = 1 209 x 2-28 = 0,11010001 x 2-10100 = 0 -209 x 2-28 = -0,11010001 x 2-10100 = 1 10010011 10010011 01101011 01101011 10100010000000000000000 10100010000000000000000 10100010000000000000000 10100010000000000000000

21

Representao de Ponto Flutuante


Intervalos de representao para 32 bits:
Nmeros negativos:
[-(1-2-24) x 2128 , -0,5 x 2-127]
-(1-2-24) x 2128 = 1 11111111 11111111111111111111111 -0,5 x 2-127 = 1 00000000 00000000000000000000000

Nmeros positivos:
[0,5 x 2-127 , (1-2-24) x 2128]
0,5 x 2-127 = 0 00000000 00000000000000000000000 (1-2-24) x 2128 = 0 11111111 11111111111111111111111
22

Representao de Ponto Flutuante


Overflow em Nmeros Negativos
Nmeros inteiros representveis -231 Underflow em Nmeros Negativos Overflow em Nmeros Negativos Nmeros negativos representveis -(1-2-24) x 2128 -0,5 x 2-127 0 231-1 Underflow em Nmeros Positivos Overflow em Nmeros Positivos Nmeros positivos representveis 0 -0,5 x 2-127 -(1-2-24) x 2128
23

Overflow em Nmeros Positivos

Representao de Ponto Flutuante


O underflow menos crtico que o overflow, pois o valor pode ser aproximado para 0 No h, princpio, representao para 0
Na verdade, h um padro de bits especial para representao do 0

O nmero mximo de valores distintos representveis continua sendo 232


A representao em ponto flutuante apenas divide esses valores em duas faixas
24

Representao de Ponto Flutuante


H uma relao estreita entre os tamanhos dos campos reservados mantissa e ao expoente Para um tamanho fixo de palavra:
Se o nmero de bits reservados mantissa aumentar, aumenta-se a preciso, mas diminui-se a faixa de valores representveis Se o nmero de bits reservados ao expoente aumentar, aumenta-se a faixa de valores representveis, mas diminui-se a preciso 25

Representao de Ponto Flutuante


Padro IEEE 754
8 bits Formato Simples Sinal da mantissa 11 bits Formato Duplo Sinal da mantissa Expoente polarizado Expoente polarizado 23 bits Mantissa 32 bits 52 bits Mantissa 64 bits
26

Representao de Ponto Flutuante Valores especiais definidos no IEEE 754


Expoente Polarizado Sinal 0 1 0 Formato Simples 0 0 255 Formato Duplo 0 0 2047 Mantissa 0 0 0 Valor 0 -0

1
0 ou 1

255
255

2047
2047

0
0

-
NaN

27

Representao de Ponto Flutuante


Parmetros do formato IEEE 754
Parmetro Tamanho da palavra Tamanho do expoente Formato Simples 32 8 Formato Duplo 64 11

Polarizao do expoente Expoente mximo


Expoente mnimo Tamanho da mantissa Nmero de expoentes Nmero de mantissas Nmero de valores

127 127
-126 23 254 223 1,98 x 231

1023 1023
-1022 52 2046 252 1,99 x 263
28

Você também pode gostar