Mudanças entre as edições de "Map0151"
(→Representação de números inteiros numa base) |
|||
Linha 1: | Linha 1: | ||
[[Arquivo:cobra4.png]] | [[Arquivo:cobra4.png]] | ||
+ | |||
+ | <div style="background-color:#ffaaaa; text-align:center; text-width:100%; font-size:150%; border:2px solid #000000;"> [http://social.stoa.usp.br/profile/calculo-numerico-com-python | Comunidade no Stoa] [http://disciplinas.stoa.usp.br/course/view.php?id=1239 | Disciplina no Moodle|]</div> | ||
__MATHJAX__ | __MATHJAX__ | ||
=== Números no Computador === | === Números no Computador === |
Edição das 20h29min de 26 de janeiro de 2013
Números no Computador
Muitos dos algoritmos de cálculo numérico, por uma questão prática, deverão ser executados numa máquina real. Nestas máquinas, no entanto, a capacidade de memória para representação dos números é finita. Vários números reais (infinitos, de fato) terão a mesma representação no computador (ou calculadora), daí originando-se os erros de arredondamentos. Vamos ver qual é a técnica usada atualmente para diminuir os erros de arredondamentos.
Representação de números inteiros numa base
Seja β>1 um número natural. Então podemos representar qualquer número inteiro k como a soma k=sgn(k)∗a0β0+⋯+asβs onde cada algarismo aj representa um número natural entre 0 e β−1. Só as é diferente de zero. Esta representação é única. A representação de k na base β é k=±[as…a0]β Deixando o sinal de k de fora, para simplificar. Podemos calcular os algarismos do número daddo na base β aplicando repetidas vezes o algoritmo da divisão. Escrevendo k=a0+β(a1+β(a2+⋯+βas)⋯)) vemos que a0 é o resto da divisão k//β, a1 é o resto da divisão (k−a0)//β e assim por diante.