Esse blog é de caráter pessoal e destina-se aos alunos e companheiros interessados em Matemática.
Sendo a internet uma vasta rede de informações que se perde em quantidade de conteúdo, o que pretendemos é juntar todas essas informações em um local que meus alunos possam ter acesso de forma mais simples. Logo para construção desse blog o que estamos fazendo é garimpando na rede tudo que consideramos relevante e postando em um único lugar.

terça-feira, 6 de dezembro de 2011

CÁLCULO NUMÉRICO - Mudanças de bases - ERROS (5)


(b) Transformando números menores que 1 da base 10 para a base 2.
Na transformação da base 10 para a base 2, divide-se o número dado por ½ = 0,5, obtendo-se b1 (primeiro dígito após a vírgula) que deverá ser 1 ou 0, e o resto r1.
Nessa divisão utilizamos o algoritmo da divisão N = b1.0,5 + r1.
Divide-se r1 por ¼ = 0,25, obtendo-se b2 (segundo dígito após a vírgula) que também será igual a 1 ou 0 e o resto r2.
Continua o processo, dividindo cada resto ri por 1/(2i+1) obtendo o dígito bi+1 e o resto ri+1 até que ri+1 seja igual a zero ou iniciar uma repetição de seqüência de dígitos.
Veja abaixo a seqüência usada para obtenção dos dígitos aplicada ao número 0,78125.
Como foi encontrado um resto igual a zero o processo é encerrado e o resultado é 0,110012.
Vejamos a conversão de 0,1 para a base 2.
Observe que a seqüência 0011 (2º ao 5º dígitos) se repete (6º ao 9º dígitos).
Temos aí uma dízima periódica. O número pode ser escrito na forma (0,0001100110011...)2 ou
Conforme visto acima, a conversão de base pode levar a erros. Neste último exemplo, 0,110 é exato enquanto que sua conversão para a base 2 leva a um número fracionário com infinitos dígitos.
Dependendo da máquina usada, erros como esse pode ser propagado ao realizar operações com o mesmo.
Faça o seguinte teste em uma calculadora:
primeira operação: divida 1 por 3;
segunda operação: mantendo o resultado no visor multiplique o valor exibido por 3.
Em algumas calculadoras o resultado será 1 e em outras 0,999999....
Entretanto, se o número de dígitos usados for a maior quantidade de dígitos da máquina, ela irá exibir o valor 0,99999.....
Trabalhando no Excel ou StarCalc
Veja o resultado da conversão do número 0,78125 para a base 2.
As células indicadas servirão para referências. Você pode usar quaisquer outras células.
(1) Na célula C7 digite o número a ser convertido. No caso do exemplo 0,78125.
(2) Na célula D7 digite = 1/2 e pressione ENTER.
(3) Na célula E7 digite = TRUNCAR(C7/D7).
(4) Na célula F7 digite = SE(C8=0;"continua";"FIM"). Assim, o último dígito após a vírgula será exibido na coluna E em frente ao primeiro FIM. Se o número de linhas for insuficiente ou se o número for uma dízima ou se o número na base 2 for um número irracional, o valor FIM será exibido na última linha. Nesse caso selecione as últimas linhas e copie-as para as linhas seguintes.
(5) Selecione as células C7, D7, E7, F7 e copie os conteúdos (fórmulas) para algumas células abaixo.
Assim, está pronto o algoritmo para converter um número da base 10 para a base 2.

No exemplo acima, teremos 0,781250 = 0,11001(2) e, como o valor FIM foi exibido, este valor é exato.
Em geral, quando se pede para fazer a conversão, a precisão é fornecida. Na precisão fica definido o número de dígitos que deverá ser usado após a vírgula.
Por exemplo: converter 0,666672 para a base 2 com precisão 0,000001.
O resultado será 0,101010(2) (que não é exato).
Teste substituindo o 0,78125 do algoritmo já construído.

Você pode usar o mesmo quadro criado para converter o número 0,78125 para outras conversões. Neste caso basta substituir o 0,78125 pelo número desejado e pressionar a tecla ENTER.

Nenhum comentário:

Postar um comentário