Buscar

Representações numericas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Fundamentos de Matemática para Computação
FMC
Prof.a Dr.a Erika Coelho
erikamorais@inf.ufg.br
Instituto de Informática
Universidade Federal de Goiás
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Representação computacional de números
Como vimos, a representação de números inteiros (como 0,
1, 35, 617, 313, 25.987, 13.500) pode ser feita facilmente
utilizando um conjunto de bits, organizados em bytes.
Os números racionais podem ser representados por pares
de inteiros: o numerador e o denominador.
Esta representação é precisa, mas é inconveniente do ponto
de vista aritmético.
Sistemas que representam os números racionais dessa
forma têm sido chamados de simbólicos.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Representação computacional de números
Os números reais (como 1,25 e 38,313) requerem uma
forma alternativa de representação.
Esta forma alternativa de representação considera
diferentes componentes do número.
Embora seja comum expressar os números reais apenas
com apoio da vírgula para separar a parte inteira da parte
real, outras versões podem ser consideradas.
Para a maioria dos casos, os números reais são
armazenados usando representação binária.
Há dois métodos: ponto fixo e ponto flutuante.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Exemplo 1 (Representação de números reais)
−1, 25 = −1, 25 · 100 = −0, 125 · 101 = −0, 0125 · 102.
38, 313 = 38, 313 · 100 = 0, 38313 · 102 = 0, 038313 · 103.
3, 1416 = 3, 1416 · 100 = 0, 31416 · 101 = 0, 031416 · 102.
82, 0 = 82, 0 · 100 = 0, 82 · 102 = 0, 082 · 103.
Atenção à notação
Na notação brasileira a vírgula é utilizada para separar a
parte inteira da parte fracionária de um número real.
O uso do ponto é um facilitador introduzido para auxiliar
na visualização do valor apresentado.
A notação estadunidense também utiliza ponto e vírgula,
mas faz uso inverso: o ponto separa a parte inteira da
fracionária e a vírgula é utilizada para auxiliar na
visualização do número.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Ponto fixo
A aritmética de ponto fixo é assim chamada porque a faixa
de números que pode representar um determinado valor é
fixa, ou seja, a posição da vírgula é predeterminada.
Todos os valores representados em ponto fixo para uma
determinada operação possuem a mesma quantidade de
algarismos inteiros e fracionários.
A notação usada em computadores para a representação
em ponto fixo, é o complemento de 2.
Não possui dupla representação para o zero.
Proporciona uma maior velocidade de cálculo se
comparada às outras notações.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Ponto fixo
Os valores devem ser representados em uma sequência de
bits: SN|Parte inteira|Parte fracionária.
1 bit para o sinal, um grupo de bits para representar o
número antes da vírgula e um grupo de bits para
representar o número após a vírgula.
O sinal é 0 para positivo e 1 para negativo.
Faixa: aproximadamente de 2−16 a 215.
É bastante limitado quanto a faixa que se pode armazenar.
É atualmente pouco usado para computação numérica.
Entretanto, microcontroladores com ponto fixo são mais
econômicos, possuem circuitos internos mais simples e
necessitam de menos memória.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Exemplo 2
10,5 em ponto fixo:
23 22 21 20 2−1 2−2 2−3
0 1 0 1 0 1 0 0
sinal parte inteira parte fracionária
34,0625 em ponto fixo:
25 24 23 22 21 20 2−1 2−2 2−3 2−4
0 1 0 0 0 1 0 0 0 0 1
sinal parte inteira parte fracionária
Exercício 1
Qual a representação de -23,75 em ponto fixo?
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Exemplo 3 (Ponto fixo)
Para uma precisão de 32 bits o número 11
2
= 5, 5 pode ser
representado como |0|000000000000101|1000000000000000|.
Exercício 2 (Ponto fixo)
Represente o número 1
16
em ponto fixo com 32 bits.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Ponto flutuante
É baseado na notação exponencial ou científica.
Um número x é representado por
x = ± · d1d2d3 · · · dp ×B
e, em que:
d′is são os dígitos da parte fracionária;
0 ≤ di ≤ B − 1, d1 6= 0;
B é o valor da base;
p é o número de dígitos;
e é um expoente inteiro.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Ponto flutuante
Um número de ponto flutuante tem três partes:
o sinal,
a parte fracionária, chamada de significando ou mantissa,
e o expoente.
Essas três partes têm um comprimento total fixo que
depende do computador e do tipo do número: precisão
simples ou dupla.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Exemplo 4
8210 = 10100102 = + · 1010010 × 2
7
1521310 = 111011011011012 = + ·111011011011012 ×2
14
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Exemplo 5
Considere um computador hipotético com dois dígitos (p = 2),
base B = 2 e expoente na faixa −1 ≤ e ≤ 2. Como d1 6= 0,
eles serão da forma:
± · 102 × 2
e ou ± ·112 × 2
e, 1− ≤ e ≤ 2.
Considerando a conversão de binário para decimal temos,
·102 = 1× 2
−1 + 0× 2−2 =
1
2
·112 = 1× 2
−1 + 1× 2−2 =
3
4
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Exemplo
Então os únicos números positivos representáveis neste
computador são:
·102 × 2
−1
= 1/2× 2−1 =1/4 ·112 × 2
−1
= 3/4× 2−1 3/8
·102 × 2
0
= 1/2× 1 =1/2 ·112 × 2
0
= 3/4× 1 3/4
·102 × 2
1
= 1/2× 2 =1 ·112 × 2
1
= 3/4× 2 3/2
·102 × 2
2
= 1/2× 4 =2 ·112 × 2
2
= 3/4× 4 3
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Ponto flutuante
O 0 (zero) é representado com todos os dígitos di do
significante e do expoente nulos;
O conceito de sempre existir um número real entre dois
números reais quaisquer não é válido para os números de
ponto flutuante.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Exemplo 6 (Problemas na representação)Considere a representação binária
0, 610 = 0, 100110011001 · · ·2 e 0, 710 = 0, 10011001100110 · · ·2 .
Se eles forem armazenados naquele computador hipotético,
eles serão representados igualmente como ·102 × 2
0.
Ou seja, tanto 0, 610 quanto 0, 710 serão vistos como 0, 510.
São causas de erros em processos numéricos.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Formato IEEE
Precisão simples
Baseado num sistema de 32 bits.
1 bit para o sinal, 8 para o expoente e 23 bits para a
mantissa.
Sinal: 0 para positivo e 1 para negativo.
e pode ter os valores entre -126 e 127.
Exemplo 7
s expoente mantissa
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Precisão simples
Representação normalizada
O expoente e, pode ser positivo ou negativo, mas não é
armazenado o sinal.
O valor do expoente é armazenado pela notação com
peso, também chamada de notação por excesso de
valor. Nesta notação, o valor mais negativo que o
expoente pode assumir é representado por 1.
Com precisão simples, os limites dos valores são dados por
excesso de 127.
expoente= 1, · · · , 254, e = −126, · · · , 127
Exemplo 8 (Expoente para precisão simples)
Expoente e = −1 : −1 + 12710 = 12610 = 011111102 .
Expoente e = +1 : +1 + 12710 = 12810 = 100000002 .
Expoente e = +5 : +5 + 12710 = 13210 = 100001002 .
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Precisão simples
Representação normalizada
A mantissa é armazenada no sentido “da esquerda para a
direita”.
É armazenada na forma normalizada, de forma que o
primeiro bit em 1 (um) ocorra à esquerda da vírgula.
Este bit em 1 (um) não é armazenado, ficando
subentendido.
Exemplo 9 (Normalização da mantissa para precisão
simples)
Mantissa 13, 010 : 1101, 02 = 1, 1012 · 2
3.
Mantissa 5, 62510 : 101, 1012 = 1, 011012 · 2
2.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Precisão simples
Exemplo 10
Considere o valor F = 15213, 0.
1521310 = 111011011011012 = +1·11011011011012×2
13;
Mantissa: 11011011011012 ;
Como e = 13;
Então Expoente= 13 + 127 = 140 = 100011002
Resultado:
|0| 1 0 0 0 1 1 0 0| 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
sinal expoente mantissa
Então a representação de F = 15213, 0 é:
0 1 0 0 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Precisão dupla
Baseado num sistema de 64 bits.
1 bit para o sinal, 11 para o expoente e 52 bits para a
mantissa.
Sinal: 0 para positivo e 1 para negativo.
e pode ter os valores entre -1022 e 1023.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Precisão dupla
Representação normalizada
Com precisão dupla, os limites dos valores são dados por
excesso de 1023.
expoente= 1, · · · , 2046, e = −1022, · · · , 1023
Exemplo 11 (Expoente para precisão dupla)
Expoente e = −1 : −1 + 102310 = 102210 = 11111111102 .
Expoente
e = +250 : +250 + 102310 = 127310 = 100111110012 .
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Precisão dupla
Exemplo 12
Considere o valor D = 178, 125.
178, 12510 = 10110010, 0012 = +1 · 01100100012 × 2
7;
Mantissa: 01100100012 ;
Como e = 7;
Então Expoente= 7 + 1023 = 1030 = 100000001102
Resultado:
|0| 1 0 0 0 0 0 0 0 1 1 0| 0 1 1 0 0 1 0 0 0 1 0 0 0 · · · 0 0 0 0
sinal expoente mantissa
Então a representação de F = 178, 125 é:
0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 · · · 0 0 0 0
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Exercício 3
Mostre a representação binária do número −0, 7510 nas
precisões simples e dupla no padrão IEEE.
−0, 7510 pode ser representado por −
3
4
= − 3
22
.
Em binário corresponde a: −(1
2
+ 1
4
) ou −0, 112.
Em notação científica na base 2: −0, 112 · 2
0.
Em notação científica normalizada na base 2: −1, 12 · 2
−1.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Continuação do Exercício 3
Como o valor com que a base deve ser elevada deve ser -1,
o expoente é 126, para que (126-127) resulte em -1.
Como a mantissa normalizada é 1, 12, o valor binário é
12 + 0, 100000000000000000000002 .
Portanto, em precisão simples: 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.
Em precisão dupla: e = −1 então o expoente será
−1 + 1023 = 10222 = 11111111102 .
Em precisão dupla (com 52 zeros!):
Logo, 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.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Ponto flutuante
Overflow é o termo corrente na computação para designar
que um valor não pode ser representado pois seu valor
excede a capacidade de armazenamento disponível.
Não importa se este valor é positivo ou negativo.
Underflow é o termo para designar que um valor não pode
ser representado pois está contido entre 0 (zero) e o menor
valor real normalizado representável.
Assim, por maior que seja o expoente, ocorre uma
descontinuidade na representação dos números na faixa de
números próximos a 0.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Ponto flutuante
Note que imprecisão é diferente de underflow.
A limitação do número de bits para mantissa incorre em
perda de precisão do valor efetivo, sendo armazenado um
valor aproximado (impreciso) do valor correto.
A retirada de um bit da representação do expoente para
representação da mantissa aumenta a precisão de
representação.
Mas a perda de um bit no expoente implica na diminuição
da faixa de valores representável.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Representação Numérica
Exercício 4
Qual número decimal real é expresso pela seguinte palavra: 1 1
0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0?
O sinal é 1, portanto o número é negativo.
O campo de expoente possui 100000012 , que corresponde
ao 129.
Então e = 2, pois 2 + 127 = 129.
A mantissa é dado por 0 1, portanto temos 1 0 1.
Assim, temos o número 1, 0 1 · 22 = 1012 = 510.
Fundamentos
de
Matemática
para
Computação
Prof.a Dr.a
Erika Coelho
Representação
Numérica
Ponto Fixo
Ponto
Flutuante
Formato
IEEE
Referências Bibliográficas
Referências
R. D. Fedeli, E. G. F. Polloni e F. E. Peres
Introdução à Ciência da Computação.
2a. edição, Cengage Learning, 2010.
F. F. Campos, Filho
Algoritmos Numéricos.
2a. edição, LTC, 2007.
	Representação Numérica
	Ponto Fixo
	Ponto Flutuante
	Formato IEEE

Continue navegando