Buscar

Representação Numérica

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 56 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 56 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 56 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

ufca
Representac¸a˜o Nume´rica
ECI0080/EM0014 Ca´lculo Nume´rico
Sistemas de numerac¸a˜o
O nu´mero 34 pode ser escrito como:
34 = 3× 101 + 4× 100 = (34)10
= 27 + 7 = 3× 91 + 7× 90 = (37)9
= 32 + 2 = 4× 81 + 2× 80 = (42)8
= 28 + 6 = 4× 71 + 6× 70 = (46)7
= 30 + 4 = 5× 61 + 4× 60 = (54)6
= 25 + 5 + 4 = 1× 52 + 1× 51 + 4× 50 = (114)5
= 32 + 2 = 2× 42 + 0× 41 + 2× 40 = (202)4
= 27 + 6 + 1 = 1× 33 + 0× 32 + 2× 31 + 1× 30 = (1021)3
= 32 + 2 = 1× 25 + 1× 21 = (100010)2
= (1111111111111111111111111111111111)1
Todos sa˜o sistemas de numerac¸a˜o posicionais
Sistemas de numerac¸a˜o
No caso de nu´meros reais:
(5,8125)10 = (101,1101)2
= (5,64)8
= (5,D)16
Sistemas de numerac¸a˜o
Os sistemas mais utilizados em computac¸a˜o sa˜o o bina´rio,
octal, decimal e hexadecimal
Decimal Bina´rio Octal Hexadecimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
17 10001 21 11
18 10010 22 12
19 10011 23 13
20 10100 24 14
21 10101 25 15
Bina´rio para Decimal
Basta expandir a representac¸a˜o bina´ria na base decimal e
somar as parcelas
(1001110)2 → 0× 20 = 0
→ 1× 21 = 2
→ 1× 22 = 4
→ 1× 23 = 8
→ 0× 24 = 0
→ 0× 25 = 0
→ 1× 26 = 64
+
(78)10
Decimal para Bina´rio
Consideramos as partes inteira e fraciona´ria separadamente
Decimal para Bina´rio
Consideramos as partes inteira e fraciona´ria separadamente
Por exemplo, tomemos o nu´mero (29,8)10
Decimal para Bina´rio
Consideramos as partes inteira e fraciona´ria separadamente
Por exemplo, tomemos o nu´mero (29,8)10
Para a parte inteira, fazemos (quadro)
Decimal para Bina´rio
Consideramos as partes inteira e fraciona´ria separadamente
Por exemplo, tomemos o nu´mero (29,8)10
Para a parte fraciona´ria, fazemos (quadro)
Ponto fixo e ponto flutuante
45,31 = 4,531× 101 = 0,4531× 102
= 453,1× 10−1
110101 = 110,101× 23 = 1,10101× 25
= 0,0110101× 27
Formato de ponto flutuante
Um nu´mero real x e´ representado como
x = ±m× be
m = (d0,d1d2d3 . . . dt−1)b
onde:
• b ∈ {2, 3, 4, . . . } e´ a base
• m e´ a mantissa
• e e´ o expoente
• t ∈ {1, 2, 3, . . . } e´ o nu´mero de d´ıgitos
Formato bina´rio de ponto flutuante
Considere o seguinte formato
x = ±m× 2e, 1 ≤ m < 2
m = (b0.b1b2b3b4 . . . b15)2
Formato bina´rio de ponto flutuante
expoente mantissa
sinal
Considere o seguinte formato
1 bit 6 bits 16 bits
015162122
x = ±m× 2e, 1 ≤ m < 2
m = (b0.b1b2b3b4 . . . b15)2
Sinal
Em todos os formatos bina´rios, 1 bit e´ reservado para o sinal
do nu´mero
• 0⇒ positivo
• 1⇒ negativo
Polarizac¸a˜o do expoente
Continuando o exemplo anterior com 6 bits para o expoente,
podemos representar de 0 a 26 − 1 = 63 (64 valores)
Para permitir sinais negativos, realiza-se uma polarizac¸a˜o
Neste caso, subtraimos 25 − 1 (o zero transladado) de 0 e 63,
obtendo a faixa de expoentes −31 a 32
Portanto, um expoente e sera´ armazenado como e+ 31
expoente mantissa
015162122
Polarizac¸a˜o do expoente
e = (1)10 = (1)2 e´ armazenado como
(11111)2 + (1)2 = (100000)2
e = (−3)10 = −(11)2 e´ armazenado
como (11111)2 − (11)2 = (011100)2
Valores especiais
Os expoentes (000000)2 e (111111)2 sa˜o utilizados para
representar o zero e o infinito (ou algum erro, NaN)
Com isso,
• o maior expoente e´ armazenado como
(111111)2 − (1)2 = (62)10, ou seja, o maior expoente vale
(62)10 − (31)10 = (31)10
• e o menor expoente esta´ associado a (000001)2 = (1)10, ou
seja, o menor expoente vale (1)10 − (31)10 = −(30)10
Mantissa
A mantissa e´ composta pelos d´ıgitos significantes do nu´mero
armazenado
Usualmente, ela e´ armazenada normalizada
(0,1)10 = (0,00011001100110011 . . . )2
= (1,1001100110011 . . . )2 × 2−4
este bit sera´ impl´ıcito
Assim, o expoente e = −(4)10 = −(100)2 sera´ armazenado
como (31)10 − (4)10 = (27)10 = (011011)2
Mantissa
Neste formato fict´ıcio, o nu´mero (0,1)10 sera´ armazenado
como:
0 011011 1001100110011001
Menor nu´mero
O menor nu´mero normal positivo que
pode ser armazenado e´
(1,0000000000000000)2 × 2−30 ≈
9.3132257× 10−10
0 000001 0000000000000000
Underflow
0 000000 1000000000000000
0 000000 0000000000000001
Estes nu´meros sera˜o tratados como zero
0 000001 0000000000000000
pois ambos sa˜o menores do que
e
Underflow
0 000000 1000000000000000
0 000000 0000000000000001
Estes nu´meros sera˜o tratados como zero
0 000001 0000000000000000
pois ambos sa˜o menores do que
e
Veremos que o uso de “desnormalizac¸a˜o” reduz a zona de
underflow
Maior nu´mero
O maior nu´mero normal positivo sera´
(1,1111111111111111)2 × 231 =
(2− 2−16)× 231 = 4294934528
0 111110 1111111111111111
Overflow
1 111110 1111111111111111
0 111110 1111111111111111
menor do que
Quando o valor absoluto do valor arredondado e´ grande demais
para ser representado, o resultado e´ ±∞
maior do que
Zero
0 000000 0000000000000000
Not a Number
Resultados inva´lidos sa˜o caracterizados pela sigla “NaN”
• 0×∞
• 0/0
• ∞/∞
• ∞−∞
0 111111 6= 0
Padra˜o IEEE754
O grupo IEEEp754 foi formado na de´cada de 70 para definir
um padra˜o para a representac¸a˜o de nu´meros reais, o qual seria
adotado pelas indu´strias de computadores
Participavam o pro´prio IEEE, Apple, Zilog, DEC, Intel,
Hewlett-Packard, Motorola e National Semiconductor
Padra˜o IEEE754
O padra˜o IEEE754 estabelece:
• formatos bina´rios e decimais para nu´meros em ponto
flutuante
• operac¸o˜es: adic¸a˜o, subtrac¸a˜o, multiplicac¸a˜o, divisa˜o, raiz
quadrada, comparac¸a˜o e outras
• conversa˜o entre inteiro e formatos em ponto flutuante
• conversa˜o entre formatos diferentes de ponto flutuante
• converso˜es entre formatos de ponto flutuante e outras
representac¸o˜es (e.g., cadeias de caracteres)
• tratamento de excec¸o˜es: NaNs, overflow, underflow, etc.
Formatos
Determina 5 formatos ba´sicos:
• Treˆs formatos bina´rios com 32, 64, e 128 bits cada
• Dois formatos decimais com 64 e 128 bits cada
Formatos
Determina 5 formatos ba´sicos:
• Treˆs formatos bina´rios com 32, 64, e 128 bits cada
• Dois formatos decimais com 64 e 128 bits cada
Usualmente, fabricantes de computadores implementam os
formatos bina´rios
Formatos
Determina 5 formatos ba´sicos:
• Treˆs formatos bina´rios com 32, 64, e 128 bits cada
• Dois formatos decimais com 64 e 128 bits cada
Usualmente, fabricantes de computadores implementam os
formatos bina´rios
No passado, alguns computadores possuiam unidades de
aritme´ticas decimais, mas estas sa˜o mais lentas e maiores,
comparadas com unidades bina´rias
Atualmente, poucos processadores possuem
instruc¸o˜es/hardware para aritme´tica em ponto flutuante
decimal (e.g., mainframe IBM z10, 2008)
Precisa˜o simples
Utiliza 32 bits (4 bytes)
expoente mantissa
1 bit 8 bits 23 bits
±
Precisa˜o simples
Exerc´ıcio. Determine (a) o maior nu´mero positivo
normalizado e (b) o menor valor positivo normalizado, ambos
em precisa˜o simples
Precisa˜o simples
Exerc´ıcio. Determine (a) o maior nu´mero positivo
normalizado e (b) o menor valor positivo normalizado, ambos
em precisa˜o simples
(a) O valor pretendido tera´ como mantissa um nu´mero com 24
bits (considerando o bit impl´ıcito) iguais a 1 e como expoente
(11111110)2
Precisa˜o simples
Exerc´ıcio. Determine (a) o maior nu´mero positivo
normalizado e (b) o menor valor positivo normalizado, ambos
em precisa˜o simples
(a) O valor pretendido tera´ como mantissa um nu´mero com 24
bits (considerando o bit impl´ıcito) iguais a 1 e como expoente
(11111110)2
Portanto, o maior valor positivoe´
(1,1111 . . . 11)2×2127 = (2−2−23)×2127 ≈ 2128 ≈ 3,4×1038
Precisa˜o simples
Exerc´ıcio. Determine (a) o maior nu´mero positivo
normalizado e (b) o menor valor positivo normalizado, ambos
em precisa˜o simples
(a) O valor pretendido tera´ como mantissa um nu´mero com 24
bits (considerando o bit impl´ıcito) iguais a 1 e como expoente
(11111110)2
Portanto, o maior valor positivo e´
(1,1111 . . . 11)2×2127 = (2−2−23)×2127 ≈ 2128 ≈ 3,4×1038
(b) E o menor valor e´
(1,000 . . . 00)2 × 2−126 = 2−126 ≈ 1,2× 10−38
Precisa˜o simples
Exerc´ıcio. Represente (−1,375× 255)10 no formato bina´rio
IEEE754 de precisa˜o simples
Precisa˜o simples
Exerc´ıcio. Represente (−1,375× 255)10 no formato bina´rio
IEEE754 de precisa˜o simples
(−1,375× 255)10 = (−1,375× 2182−127)10
= (−1)1 × (1,011)2 × 210110110−01111111
Precisa˜o simples
Exerc´ıcio. Represente (−1,375× 255)10 no formato bina´rio
IEEE754 de precisa˜o simples
(−1,375× 255)10 = (−1,375× 2182−127)10
= (−1)1 × (1,011)2 × 210110110−01111111
1 10110110 01100000000000000000000
Precisa˜o dupla
Sa˜o representados com 64 bits (8 bytes)
expoente mantissa
1 bit 11 bits 52 bits
±
Precisa˜o dupla
Considere o nu´mero 27,56640625 em precisa˜o dupla:
0 10000000011 1011100100010000000000000000000000000000000000000000
O nu´mero anterior a este e´:
Ja´ o nu´mero posterior e´:
0 10000000011 1011100100001111111111111111111111111111111111111111
0 10000000011 1011100100010000000000000000000000000000000000000001
Precisa˜o dupla
Considere o nu´mero 27,56640625 em precisa˜o dupla:
0 10000000011 1011100100010000000000000000000000000000000000000000
O nu´mero anterior a este e´:
Ja´ o nu´mero posterior e´:
0 10000000011 1011100100001111111111111111111111111111111111111111
0 10000000011 1011100100010000000000000000000000000000000000000001
Portanto, o nu´mero 27,56640625 representa na verdade o
intervalo:
[27,5664062499999982236431605997495353221893310546875,
27,5664062500000017763568394002504646778106689453125)
27,56640625
Desnormalizac¸a˜o
Com o intuito de representar nu´meros pro´ximos a zero, o
padra˜o IEEE754 define os nu´meros subnormais ou
desnormalizados
Desnormalizac¸a˜o
Com o intuito de representar nu´meros pro´ximos a zero, o
padra˜o IEEE754 define os nu´meros subnormais ou
desnormalizados
Um nu´mero e´ subnormal se ambos o expoente e o bit impl´ıcito
valem zero
Desnormalizac¸a˜o
Considere o formato IEEE de precisa˜o simples
Neste, o menor nu´mero positivo e´ 2−126:
0 00000001 00000000000000000000000
Desnormalizac¸a˜o
Considere o formato IEEE de precisa˜o simples
Neste, o menor nu´mero positivo e´ 2−126:
0 00000001 00000000000000000000000
Observe que podemos escrever
2−127 = 2−1 × 2−126 = (0,1)2 × 2−126, o qual e´ menor do que
2−126, e armazena´-lo como
0 00000000 10000000000000000000000
Desnormalizac¸a˜o
Considere o formato IEEE de precisa˜o simples
Neste, o menor nu´mero positivo e´ 2−126:
0 00000001 00000000000000000000000
Observe que podemos escrever
2−127 = 2−1 × 2−126 = (0,1)2 × 2−126, o qual e´ menor do que
2−126, e armazena´-lo como
0 00000000 10000000000000000000000
desnormalizac¸a˜o!
Desnormalizac¸a˜o
Considere o formato IEEE de precisa˜o simples
Neste, o menor nu´mero positivo e´ 2−126:
0 00000001 00000000000000000000000
Observe que podemos escrever
2−127 = 2−1 × 2−126 = (0,1)2 × 2−126, o qual e´ menor do que
2−126, e armazena´-lo como
0 00000000 10000000000000000000000
Usando este esquema, o menor positivo armazenado sera´
agora:
0 00000000 00000000000000000000001
o qual representa:
2−126 × 2−23 = 2−149 ≈ 1,401298464× 10−45
Desnormalizac¸a˜o
No caso do formato de 64 bits, o menor valor positivo sera´:
2−1022 × 2−52 = 2−1074 ≈ 4,940656458× 10−324
Formato fict´ıcio
Exemplo. Considere o formato fict´ıcio 1.b1b2, com expoentes
em {−1, 0, 1}, para armazenar reais positivos
Formato fict´ıcio
Exemplo. Considere o formato fict´ıcio 1.b1b2, com expoentes
em {−1, 0, 1}, para armazenar reais positivos
Os nu´meros na˜o nulos representados por este formato sa˜o:
(1,00)2 × 2−1 = (0,5)10
(1,01)2 × 2−1 = (0,625)10
(1,10)2 × 2−1 = (0,75)10
(1,11)2 × 2−1 = (0,875)10
Formato fict´ıcio
Exemplo. Considere o formato fict´ıcio 1.b1b2, com expoentes
em {−1, 0, 1}, para armazenar reais positivos
Os nu´meros na˜o nulos representados por este formato sa˜o:
(1,00)2 × 2−1 = (0,5)10
(1,01)2 × 2−1 = (0,625)10
(1,10)2 × 2−1 = (0,75)10
(1,11)2 × 2−1 = (0,875)10
(1,00)2 × 20 = (1,0)10
(1,01)2 × 20 = (1,25)10
(1,10)2 × 20 = (1,5)10
(1,11)2 × 20 = (1,75)10
Formato fict´ıcio
Exemplo. Considere o formato fict´ıcio 1.b1b2, com expoentes
em {−1, 0, 1}, para armazenar reais positivos
Os nu´meros na˜o nulos representados por este formato sa˜o:
(1,00)2 × 2−1 = (0,5)10
(1,01)2 × 2−1 = (0,625)10
(1,10)2 × 2−1 = (0,75)10
(1,11)2 × 2−1 = (0,875)10
(1,00)2 × 20 = (1,0)10
(1,01)2 × 20 = (1,25)10
(1,10)2 × 20 = (1,5)10
(1,11)2 × 20 = (1,75)10
(1,00)2 × 21 = (2,0)10
(1,01)2 × 21 = (2,5)10
(1,10)2 × 21 = (3,0)10
(1,11)2 × 21 = (3,5)10
Formato fict´ıcio
Exemplo. Considere o formato fict´ıcio 1.b1b2, com expoentes
em {−1, 0, 1}, para armazenar reais positivos
Os nu´meros na˜o nulos representados por este formato sa˜o:
(1,00)2 × 2−1 = (0,5)10
(1,01)2 × 2−1 = (0,625)10
(1,10)2 × 2−1 = (0,75)10
(1,11)2 × 2−1 = (0,875)10
(1,00)2 × 20 = (1,0)10
(1,01)2 × 20 = (1,25)10
(1,10)2 × 20 = (1,5)10
(1,11)2 × 20 = (1,75)10
(1,00)2 × 21 = (2,0)10
(1,01)2 × 21 = (2,5)10
(1,10)2 × 21 = (3,0)10
(1,11)2 × 21 = (3,5)10
e, considerando os nu´meros
subnormais, temos tambe´m
(0,01)2 × 2−1 = (0,125)10
(0,10)2 × 2−1 = (0,25)10
(0,11)2 × 2−1 = (0,375)10
Formato fict´ıcio
Exemplo. Considere o formato fict´ıcio 1.b1b2, com expoentes
em {−1, 0, 1}, para armazenar reais positivos
0 1 2 3
	Sistemas de numeração
	Sistemas de numeração
	Sistemas de numeração
	Binário para Decimal
	Decimal para Binário
	Ponto fixo e ponto flutuante
	Formato de ponto flutuante
	Formato binário de ponto flutuante
	Sinal
	Polarização do expoente
	Valores especiais
	Mantissa
	Mantissa
	Menor número
	Underflow
	Maior número
	Overflow
	Zero
	Not a Number
	Padrão IEEE754
	Formatos
	Precisão simples
	Desnormalização
	Formato fictício

Outros materiais