Você está na página 1de 3

Nome: Rogério Marcos Fernandes Neto NUSP: 10284632

Curso: Bacharelado em Ciência da Computação


MAC0300 - Métodos Numéricos da Algebra Linear

LISTA 1

4.1 À esquerda da seta temos algumas simplificações para facilitar a visualização e, à direita,
a representação do número segundo a IEEE em precisão simples.

2 = (10)2 = (1)2 · 21 =⇒ 0 10000000 00000000000000000000000


30 = (11110)2 = (1.111)2 · 24 =⇒ 0 10000011 11100000000000000000000
31 = (11111)2 = (1.1111)2 · 24 =⇒ 0 10000011 11110000000000000000000
32 = (100000)2 = (1)2 · 25 =⇒ 0 10000100 00000000000000000000000
33 = (100001)2 = (1.00001)2 · 25 =⇒ 0 10000100 00001000000000000000000
23/4 = 5.75 = (101.11)2 = (1.0111)2 · 22 =⇒ 0 10000001 01110000000000000000000
(23/4) · 2100 = (1.0111)2 · 2102 =⇒ 0 11100101 01110000000000000000000
(23/4) · 2−100 = (1.0111)2 · 2−98 =⇒ 0 00011101 01110000000000000000000
(23/4) · 2−135 = (1.0111)2 · 2−133 =⇒ 0 00000000 00000010111000000000000

Usaremos que 1/10 = (1.10110011 . . . ) · 2−4 e que os bits que excedem a precisão são truncados:

1/5 = 1/10 · 2 = (1.100110011 . . . )2 · 2−3 =⇒ 0 01111100 10011001100110011001100


1024/5 = 1/10 · 211 = (1.100110011 . . . )2 · 27 =⇒ 0 10000110 10011001100110011001100
1/10 · 2−140 = (1.100110011 . . . )2 · 2−144 =⇒ 0 00000000 00000000000000000110011
5.1 Seja x = 1/10 = (1.100110011 . . . )2 · 2−4 e seja p = 24 a precisão do sistema usado. Então
as possiveis representações de round(x) segundo a IEEE em precisão simples são:

• Round down: round(x) = x− = (1.1001100 . . . 0)2 · 2−4 =⇒


0 01111011 10011001100110011001100

• Round up: round(x) = x+ = (1.1001100 . . . 0)2 · 2−4 + (0.00 . . . 01)2 · 2−4 =⇒


0 01111011 10011001100110011001101

• Round towards zero: round(x) = x− (pois x > 0) = (1.1001100 . . . 0)2 · 2−4 =⇒


0 01111011 10011001100110011001100

• Round to nearest: round(x) = x+ (pois x está mais próximo de x+ que x− ) = (1.1001100 . . . 0)2 ·
2−4 + (0.00 . . . 01) · 2−4 =⇒ 0 01111011 10011001100110011001101

Suponha agora x = 1 + 2−25 = (1.00 . . . )2 + 2−25 . Então as possiveis representações de round(x)


segundo a IEEE em precisão simples são:

• Round down: round(x) = x− = (1.00 . . . 0)2 =⇒ 0 01111111 00000000000000000000000

• Round up: round(x) = x+ = (1.00 . . . 0)2 + (0.00 . . . 01)2 =⇒


0 01111111 00000000000000000000001

• Round towards zero: round(x) = x− (pois x > 0) = (1.00 . . . 0)2 =⇒


0 01111111 00000000000000000000000

• Round to nearest: round(x) = x− (pois x está mais próximo de x− ) = (1.00 . . . 0)2 =⇒


0 01111111 00000000000000000000000

Suponha agora x = 2130 . Então as possiveis representações de round(x) segundo a IEEE em


precisão simples são:

• Round down: round(x) = x− = Nmax (pois x > Nmax ) =⇒


0 11111110 11111111111111111111111

• Round up: round(x) = x+ = ∞ (pois x > Nmax ) =⇒ 0 11111111 00000000000000000000000

• Round towards zero: round(x) = x− = Nmax =⇒ 0 11111110 11111111111111111111111

• Round to nearest: round(x) = x+ = ∞ (pois x > Nmax + ulp(Nmax )/2) = (1.00 . . . 0)2 =⇒
0 11111111 00000000000000000000000

Page 2
5.8 Os limitantes não valem para números subnormais.

Prova. Suponha que estejamos utilizando precisão p e seja Smin o menor número subnormal
maior que zero. Seja x = Smin · 2−2 e que estejamos usando precisão simples. Então temos que
x− = 0 e x+ = Smin . Se estivermos utilizando round down, round towards zero ou round to
nearest como métodos de arredondamento, então temos que round(x) = x− = 0 e nesse caso,
temos que:
|round(x) − x| |0 − x|
relerr(x) = |δ| = = = 1 ≥ 2−(p−1) = 
|x| |x|
Note que a desigualdade vale para qualquer precisão p ≥ 1. Portanto, as desigualdades (5.10) e
(5.11) não valem.

Page 3

Você também pode gostar