Representação de Números
Produzido por Bruno PestanaTeoria
Introdução
Fala moçada, beleza? Vamos dar início ao estudo de uma disciplina muuuuito bacana que é o Cálculo Numérico, o nosso objetivo aqui é estudar o uso de alguns métodos numéricos para resolução dos mais diversos problemas!!! Então fique tranquilo que seus problemas acabaram!
Nós devemos ter em mente que o computador, a máquina, vai fazer tudo para a gente! Ou seja, os métodos que veremos muitas vezes vão parecer cansativos e demorados se nos imaginarmos resolvendo eles, mas normalmente são moleza para uma máquina.
E por mais que uma máquina faça todas as contas para nós, nós nunca conseguimos nos livrar de um detalhe bem incômodo: os erros. Vamos falar muito deles nesse curso pois seu entendimento é super necessário para conseguirmos aplicar os métodos numéricos adequadamente.
Algarismos significativos
Antes de começar a estudar como os números são apresentados para as máquinas, vamos relembrar um assuntinho que nos acompanha desde o início dessa jornada nas Engenharias e Ciências Exatas. Consegue dar um palpite? Se você chutou Algarismos significativos, você está certíssimo.
Veja bem, os algarismos significativos de um número são aqueles que podem ser usados com confiança e geralmente corresponde ao número de algarismos corretos mais um estimado, também chamado de duvidoso, e esse algarismo duvidoso carrega com ele uma incerteza e é nela que mora o erro.
Observe a marcação em nossa régua, quantos centímetros ela está medindo?
Bom, podemos afirmar com certeza que ela está medindo mais que 2,2 e menos que 2,3 cm. O número exato que procuramos existe e mora no intervalo entre esses números, mas não podemos identificá-lo com certeza absoluta, não é?
Podemos colocar esse número mais perto do ou mais perto do . Mas qual vai estar certo? Não podemos afirmar nada...
Então, temos uma incerteza aí! E isso está dependendo do observador ou do equipamento que você está usando para tirar essa medida.
No exemplo acima, cada estimativa tem 3 algarismos significativos, eles podem ser algarismos corretos ou duvidosos. Temos certeza, que o número que procuramos está entre e ou seja o número é tem 2 algarismos corretos e estamos em dúvida quanto ao terceiro. Podemos considerar este último mais perto do ou mais perto do .
Nesse caso acima, estamos com 3 algarismos significativos e nossa incerteza é da ordem de . Isso porque podemos considerar mais perto do ou mais perto do .
Vamos ver como funciona, quantos algarismos significativos tem o número 31.400? Ele pode ter 3, 4 ou 5 algarismos significativos, dependendo de os zeros serem conhecidos com confiança.
Perceba bem que todas essas representações podem ser apresentadas na forma de notação científica e um computador representa um número real no sistema próprio denominado aritmética de ponto flutuante resolvendo toda a incerteza!
Representação de Números
Tudo que usarmos vai depender de você, da sua necessidade. Vamos ver como isso interfere nos resultados?
Número máximo de dígitos ()
Imagine que você quer calcular a área de um disco de raio igual a .
Você pode dar várias respostas e ainda assim todas estão erradas! Algumas respostas possíveis seriam:
Enfim, você pegou o espírito da coisa né? Como o e um número com infinita casas decimais nunca chegaremos a resposta exata. O resultado que obtemos vai depender exclusivamente da aproximação de que usarmos. E essa aproximação deve ser tão exata quanto precisarmos. E essa ideia será muito importante!
O número de casas decimais a ser usado vai depender da precisão desejada e de onde você vai aplicar esses dados!
Base escolhida
Como nós representamos números? É sobre isso que vamos falar nessa parte.
Cara, a base nada mais é do que a quantidade de algarismos que podemos usar para representar os números. Estamos acostumados com a base decimal que possui 10 algarismos (0, 1, 2... 9), essa é a base com a qual estamos acostumados a lidar no nosso dia a dia e aprendemos desde pequenos. Mas um computador, por outro lado, normalmente usa um sistema de representação binário (0 ou 1), o que significa que o computador irá escrever os números apenas com os algarismos 0 e 1, ele também usa o ponto para representar a nossa vírgula no sistema decimal.
E você pode usar qualquer base que queira para representar os números! A decimal é a mais empregada atualmente, mas existe a binária, a base hexadecimal (base 16), a octal (base 8), entre outras.
E os erros só aumentam quando manipulamos os números em diversas bases. Por exemplo, um número pode ter representação finita em uma base e não-finita em outra (não se preocupe, isso será visto mais pra frente)! Na nossa interação com o computador, nós passamos as informações para ele pelo sistema decimal. Esses dados são convertidos para o binário, no qual todos os cálculos são feitos e depois convertidos de volta para decimal para que possamos ler. Todas essas conversões geram ainda mais erros!
Conversão de Números nos Sistemas Decimal e Binário
Vamos começar engatinhando.
No sistema decimal, para representar um número podemos escrever ele na forma de somas potências de base dez. Parece complicado, mas olha só:
Vamos analisar o número que é do sistema decimal:
Prontinho, escrevemos um número como uma soma de potências de base dez.
Um número escrito na forma binária só usa algarismos do tipo 0 e 1. Mas, da mesma forma que era na base decimal, os algarismos vão indicar uma soma de potências de base dois Por exemplo, vamos agora analisar um número 1011 escrito na base 2:
Entendeu como funciona? Todos os números podem ser escritos como uma soma de potências de uma base. Generalizando, um número com os algarismos na base seria:
Mas por que eu to falando isso? Porque assim é fácil passarmos números do sistema binário pro decimal! Por exemplo o em decimal fica:
Fazendo essas continhas temos:
Então o número da base 2 equivale ao na base dez.
E pra voltar? Ir do decimal para o binário? Aí o que nós vamos fazer é dividir o número por várias vezes até aparecer o no quociente e ir anotando os restos! Assim oh:
Agora escrevemos os restos de trás pra frente:
Percebeu que tá batendo certinho com o que tínhamos? Até aí tudo nas mil maravilhas né?
Mas, e para convertermos os números que vem depois da vírgula? Como faz??
Bom, vamos começar indo do binário para o decimal que é mais fácil, os números depois do ponto (que correspondem a vírgula no sistema decimal) serão elevados a potências de dez negativas. O expoente sempre irá diminuir:
Ou seja, quando temos casas decimais ficamos com:
Então o processo binário decimal não mudou muito né? É só continuarmos diminuindo as potências de .
E para irmos do decimal para o binário? Vamos usar o . Primeiro fazemos a parte inteira:
Beleza, agora para a parte depois da vírgula nós vamos multiplicar por ao invés de dividir! Depois de multiplicar verificamos se o número é maior que . Se for, coloca-se na parte fracionária e o “resto” passa adiante. Caso contrário, botamos um . E vamos fazendo isso até chegarmos no . Vai ficar mais claro com o exemplo:
Pronto, ah e aqui a gente lê na ordem certa haha.
Somando:
Exatamente o que a gente esperava!
Agora lembra aquela história que eu falei de números que são finitos em uma base e não finitos em outra? Vamos passar o número para binário. O já sabemos que fica , mas e o ?
Opa, percebeu que entramos em um loop? Voltamos para o ! Então nosso número em binário será uma dízima:
E é daí que alguns problemas aparecem. . .
Para compreendermos como irá funcionar nesses casos, precisaremos entender um pouco melhor sobre a linguagem que os computadores usam. Isso veremos no próximo tópico, beleza?! Mas antes vamos praticar um pouco de conversão?!