Escolar Documentos
Profissional Documentos
Cultura Documentos
Eduardo Barrre
DCC/UFJF
Aritmtica Computacional
Aula 08
Ponto Flutuante
Precisamos
de representao para nmeros reais Utilizaremos na representao nmeros normalizados em notao cientfica
Notao
cientfica normalizada: possui nico dgito esquerda do ponto decimal (ou ponto binrio, caso a base seja 2) Ex.: 1,0 x 10-9
Ponto Flutuante
Ponto
flutuante: aritmtica computacional que representa os nmeros em que o ponto binrio no fixo
na forma 1,aaaaaa x 2bbbb Precisamos de compromisso entre tamanho da frao e do expoente
Representados
Aumento da preciso x aumento do intervalo dos nmeros que podem ser representados
Ponto Flutuante
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 s
expoente
frao
Ponto Flutuante
Tambm
Ponto Flutuante
Representao
Nmeros
em preciso dupla
Formato
IEEE
754
Mais
Nmeros
sempre na forma 1,xxx Um implcito Bits da frao numerados da esquerda para direita Termo significando utilizado
Ponto Flutuante
Uso
de notao deslocada
Bias
(excesso) adicionado ao expoente No padro IEEE valor 127 utilizado como bias para preciso simples e 1023 para preciso dupla
No
exemplo anterior:
-1 + 127 = 126 => 0111 1110 +1 + 127 = 128 => 1000 0000
Ponto Flutuante
Exemplo:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Ponto Flutuante
Exemplo
Na
(cont.)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Ponto Flutuante
Que
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 0 0 0 0 0 0 1 0 1 0
Bit
Ponto Flutuante
Ponto Flutuante
Instrues
Adio
simples e dupla: add.s e add.d Subtrao simples e dupla: sub.s e sub.d Multiplicao simples e dupla: mul.s e mul.d Diviso simples e dupla: div.s e div.d Comparao simples e dupla: c.x.s e c.x.d
Onde x pode ser igual (eq), diferente (neq), menor que (lt), menor ou igual (le), maior que (gt) ou maior ou igual (ge)
Ponto Flutuante
Comparao
em ponto flutuante define um bit como verdadeiro ou falso, dependendo da condio de comparao
Desvio
Projetistas
$f0,
podem estar no topo da pilha, na memria ou em um dos 7 registradores do chip Operandos mais largos no topo da pilha do que na memria
Todas
as operaes realizadas nesse formato interno largo (80 bits) Converso automtica para formato largo em um load para a pilha e convertidos de volta em um store
store, ... Aritmticas: add, subtract, divide, square root, absolute value, ... Comparao Instrues transcendentais: sine, cosine, log, exponentiation...
de memria reservam dois bits para decidir se operando um nmero de ponto flutuante de 32 ou 64 bits, ou inteiro de 16 ou 32 bits Arquitetura SSE2 inclui 8 novos registradores que podem ser usados como operandos de ponto flutuante
EMT64
expandiu para 16
Falcias e Armadilhas
Falcia:
x
Falcias e Armadilhas
Falcia:
Prxima Aula...