Você está na página 1de 24

Aula 9

Introduo Computao

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Ponto Flutuante

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Ponto Flutuante
Precisamos de uma maneira para representar Nmeros com fraes, por exemplo, 3,1416 Nmeros muito pequenos, por exemplo, 0,00000001 Nmeros muito grandes, por exemplo, 3,15576 x 109 Uma boa representao para os valores expressos anteriormente a notao cientfica. 3,0 x 100 No caso de nmeros binrios a notao cientfica equivalente seria: 1,1 x 21
ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Ponto Flutuante
Representao Sinal, expoente, significando (-1)sinal x frao x 2expoente Mais bits para a frao fornece mais preciso Mais bits para o expoente, aumenta o range de valores. Os computadores, em geral, utilizam o padro de ponto flutuante IEEE 754. Preciso nica (float): expoente de 8 bits, frao de 23 bits. Preciso dupla (double): expoente de 11 bits, frao de 52 bits.
ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Ponto Flutuante
Representao de um nmero de ponto flutuante.

Expoentes tambm podem ser negativos, mas eles no utilizam a representao complemento de 2. Na verdade, expoentes so deslocados para facilitar a classificao A menor representao negativa formada por 0s. A maior representao positiva formada por 1s. Logo, o nmero em ponto flutuante calculado desta forma: (-1)sinal x frao x 2(expoente desvio)
ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Ponto flutuante
Quando analisamos um nmero de ponto flutuante considerando o bit de sinal como bit significativo, a parte relativa a frao passa a receber o nome de significando. Se o nmero negativo, adicionado 1 a frao(.xxxx), caso contrrio 0.

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Ponto flutuante: Operaes aritmticas


Operaes aritmticas envolvendo ponto flutuantes sofrem do mesmo problema apresentado nas operaes inteiras (overflow). Alm de overflow, operaes de ponto flutuante pode tambm resultar em underflow
Underflow quando o resultado obtido pequeno demais para ser representado em um nmero de ponto flutuante.
ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Ponto Flutuante: Arredondamento


Alm do underflow, podemos ter problemas relativo a forma de arredondamento. Basicamente existem quatro formas de arredondamento:
Sempre arredondar para cima. Sempre arredondar para baixo. Truncamento. Arredondar para o prximo par.
ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Ponto Flutuante - exemplo


(+6132,78910) Frao: +0.6132789 Expoente: +04 Expoente: posio real do ponto decimal
Quatro pts a direita do ponto decimal (na frao)

Notao cientfica: + 0.6132789 x 10+4


ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Ponto flutuante: generalizao


Generalizando: F 10E
F (frao) E (expoente) Apenas F e E so fisicamente representados
Desnecessrio o resto

Binrio: mesmo padro (apenas na base 2) (+1001.112)


Frao (8 bits): 01001110 Expoente (6 bits): 000100
ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Operaes em Ponto Flutuante


Suporte a nmeros inteiros com e sem sinal. Suporte a nmeros fracionrios: 3,1414, 0,00001 etc. Notao cientfica: 1,34 x 103. Nmeros normalizados: 1 dgito antes do ponto decimal. Nmeros binrios tambm podem ser normalizados. Ponto decimal / ponto binrio. Aritmtica com nmeros normalizados: aritmtica de ponto flutuante. Em C: float. Formato: 1,xxxxxxxx2 2yyyy.

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Padro IEEE 754


Torna implcito o 1 esquerda do ponto binrio. Quando o expoente for zero, o hardware no considera o primeiro bit 1 implcito, para permitir a representao do nmero 0 em ponto flutuante.
N = (1) S (1 + Mantissa ) 2 E
ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Padro IEEE 754


Deve permitir comparaes rpidas. Seria melhor: o menor coeficiente possvel valer 00000000, e o maior 11111111. Modificao:
Subtrair 127 (peso) do exponente. Representao de 1: -1+127=-1+01111111=01111110. +1=+1+127=100000002.

Formato:

N = (1) (1 + Mantissa ) 2
Peso para preciso dupla: 1.023.
ADS IFBA www.ifba.edu.br/professores/antoniocarlos

( E Peso )

Exemplo 1
1. Representar o nmero -0,7510 em ponto flutuante e preciso simples. 2. Representar o nmero 1,7510 em ponto flutuante e preciso simples.

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Resposta da 1
1a fase: converter para binrio:
0,75 x 2 = 1,5 1 0,5 x 2 = 1,0 1 -0,7510 = -0,112 = -0,11 x 20 = -1,1 x 2-1

Em preciso simples:

N = (1) S (1 + Mantissa ) 2( E Peso )


Resultado: Representao:

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Exemplo
Converter a palavra abaixo em ponto flutuante para nmero

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Resposta

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Operaes Lgicas

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Operaes Lgicas
Operaes lgicas com binrios AND (conjuno, 2 operandos) OR (disjuno, 2 operandos) XOR (ou exclusivo, 2 operandos) NOT (negao, 1 operando) Trs notaes com operadores In-fixa (operador entre argumentos: 3 + 4) Ps-fixa (oper. sucede argumentos: 3 4 +) Pr-fixa (oper. precede argumentos: + 3 4) Esta (Notao Polonesa Reversa) usada em LISP

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

AND
0 and 0 = 0 0 and 1 = 0 1 and 0 = 0 1 and 1 = 1

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

OR
0 or 0 = 0 0 or 1 = 1 1 or 0 = 1 1 or 1 = 1

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

XOR
0 xor 0 = 0 0 xor 1 = 1 1 xor 0 = 1 1 xor 1 = 0

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

NOT
NOT: operador unrio (apenas 1 argumento) not 0 = 1 not 1 = 0

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Um exemplo
1011 0101 and 1110 1110

ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Você também pode gostar