Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

O Cálculo Numérico

Por:   •  10/4/2018  •  1.889 Palavras (8 Páginas)  •  306 Visualizações

Página 1 de 8

...

Colocando agora o número 2 em evidência teremos:

(lOlll^ = 2 x (1 + 2 x (1 + 2 x (0 + 2 x 1))) + 1 = (23)l0

Veremos agora um processo para converter um número inteiro representado no sistema decimal para o sistema binário. Considere o número N0 = (347)10 e (aja-j... aja0)2 a sua representação na base 2.

Temos então que:

347 = 2 x (a- x 2*_1 + x 2>-2 + ... + % x 2 + ax) + aQ = 2 x 173 + 1

E, portanto, o dígito ag = 1 representa o resto da divisão de 347 por 2. Repetindo agora este processo para o número N. = 173:

173 = a» x 2*"1 + x 2K2 + ... + aj x 2 +

Obteremos o dígito a., que será o resto da divisão de por 2. Seguindo este raciocínio obtemos a seqüência de números e a^.

Nj = 2 = 2x1 + 0 ^ = O Ns=l = 2x0+1 =>ag = l

Portanto, a representação de (347),0 na base 2 será 101011011.

No caso geral, considere um número inteiro N na base 10 e a sua representação binária denotada por: (aja* , ... a,a,a0)2. O algoritmo a seguir obtém a cada k o dígito binário ak.

Passo 0: k = 0 Nk = N

Passo 1: Obtenha qk e r. tais que:

Nk = 2 x qk + rk Faça ak = r.

Passo 2: Se qk = 0, pare.

Caso contrário, faça Nk + , = qk.

Faça k = k + 1 e volte para o passo 1.

Como a parte fracionária de 2 x 0.5 é zero, o processo de conversão termina, e teremos: d, = 0, d2 = 0 e d3 = 1 e, portanto, o número (0.125)j0 tem representação finita na base 2: (0.001 )2

Um número real entre 0 e 1 pode ter representação finita no sistema decimal, mas representação infinita no sistema binário.

No caso geral, seja r um número entre 0 e 1 no sistema decimal e (0. d1d2...dj...)2 sua representação no sistema binário.

Os dígitos binários dj, d2 dj,... são obtidos através do seguinte algoritmo:

Passo 0: rt = r; k = 1

Passo 1: Calcule 2rk.

Se 2rk ss i, faça: dk = 1, caso contrário, faça: dk = 0

Passo 2: Faça r + j = 2rk — dk.

Se rk + j = 0, pare.

Caso contrário:

Passo 3: k = k + 1.

Observar que o algoritmo pode ou não parar após um número finito de passos. Para r = (0.125)lo teremos r4 = 0. Já para r = (0.1)]0> teremos: rj =0.1

k = 1

2rx = 0.2

*1

=

0

r2

*

0.2

k«2

2r2 = 0.4

d2

=

0

r3

=

0.4

II

00

o

II

CO

kl

fM

d3

s

0

r4

=

0.8

tl

2r4 = 1.6

=>

d4

X

1

rs

s

0.6

k = 5

2r5= 1.2

d5

s

1

r6

=

0.2 = r.

Como r6 = r2, teremos que os resultados para k de 2 a 5 se repetirão e então: rio s|í*r2s 0.2 e assim indefinidamente.

O fato de um número nâo ter representação finita no sistema binário pode acarretar a ocorrência de erros aparentemente inexplicáveis em cálculos efetuados em sistemas computacionais binários.

Analisando o Exemplo 2 da Seção 1.2 e usando o processo de conversão descrito anteriormente, temos que o número (O.S)10 tem representação finita no sistema binário: (0.1)2; já o número (0.11)10 terá representação infinita:

(0.000111000010100011110101110ÕÒÔ1010Ô0111101...)2

Um computador que opera no sistema binário irá armazenar uma aproximação para (0.11)10, uma vez que possui uma quantidade fixa de posições para guardar os dígitos da manlissa de um número, e esta aproximação será usada para realizar os cálculos. Não se pode, portanto, esperar um resultado exato.

Considere agora um número entre 0 e 1 representado no sistema binário:

(r)2 = (0. d,d2...dr)2

Como obter sua representação no sistema decimal?

Um processo para conversão é equivalente ao que descrevemos anteriormente. Definindo rt = r, a cada iteração k, o processo de conversão multiplica o número rt por (10)10 = (1010)2

...

Baixar como  txt (11.2 Kb)   pdf (63.1 Kb)   docx (18.9 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no Essays.club