Os sistemas de numeração nada mais
consistem do que conjuntos de regras que possibilitam a descrição de alguma
grandeza, utilizando-se símbolos específicos. Bases indicam a quantidade máxima
de símbolos utilizados a cada conjunto de grandezas, sendo necessário mais um
símbolo e a repetição de sequência para seguir na representação. A base mais
comum é a base 10, ou seja, há dez símbolos, os números 0, 1, 2, 3, 4, 5, 6, 7,
8 e 9. Outras bases usuais são a binária (2), a hexadecimal, a base doze (para
horas), sessenta (minutos, segundos), 360 (graus).
Nas bases menores do que dez, são usados
os números de 0 a n-1 para uma base n qualquer. Acima, passam a ser usadas
letras como símbolos representativos. A base 16, usada computacionalmente, usa
a sequência 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F para a descrição de
grandezas.
O número 7, por exemplo. Na base 10, ele
fica representado apenas como 7. Já na base 2, sua representação é 1112,
com a indicação de base que seja diferente de 10. A representação de um número
qualquer em uma base k desejada é dada por (an∙∙∙ a3a2a1a0,b1b2b3∙∙∙)k,
o que corresponde an ∙ kn ∙∙∙ a3 ∙
k3 + a2 ∙ k2 + a1 ∙ k1
+ a0 ∙ k0
+b1 ∙ k-1
+ b2 ∙ k-2
+ b3 ∙ k-3
+ ∙∙∙, sempre com esta
regra de formação.
Para converter um número em uma base
qualquer para uma base 10, basta expandi-lo para a forma de soma de potências,
e, em seguida, efetuar os cálculos para obter o valor na base 10. Para fazer o
inverso, devemos separar a parte inteira da parte decimal e realizar
procedimentos diferentes. No número (XXX,MMM), por exemplo, XXX é a parte
inteira e MMM a parte decimal.
Tomamos XXX e o dividimos pela base k a
converter repetidamente até o último quociente possível. Chamando este último
quociente de q e o último resto de cn, tem-se que (XXX) = (qcncn-1∙∙∙c0)k.
Depois, tomamos (0,MMM) e o multiplicamos repetidamente
pela base k desejada, extraindo a parte inteira a cada nova iteração (ou seja,
substituindo-a por zero), e dispondo estas partes inteiras na forma em que aparecem
na representação da nova base. Por exemplo: 0,375 para a base 2:
0,375 ∙ 2 = 0,75
0,75 ∙ 2 = 1,50
0,50 ∙ 2 = 1,00
0,00 (continuar só traria mais zeros à
direita, o que é desnecessário)
Portanto, (0,375)10 = (0,011)2
Os computadores fazem estas conversões
todas as vezes em que necessitam realizar operações matemáticas. Os valores são
convertidos da base 10 para a base binária, operados e novamente convertidos da
base binária para a base 10. Entretanto, o problema está justamente nas divisões
efetuadas nas conversões, pois pode ocorrer o caso de dízimas periódicas ou
valores irracionais com infinitas casas decimais. E computadores, como tudo,
possuem limites. Não abstraem nem trabalham com infinitudes. Vejamos a conversão
de 0,1 em base binária:
0,1 ∙ 2 = 0,2;
0,2 ∙ 2 = 0,4;
0,4 ∙ 2 = 0,8;
0,8 ∙ 2 = 1,6;
0,6 ∙ 2 = 1,2;
Veja que a partir de então a conversão
passa a caminhar para um novo período 00011, e, em algum momento o computador
irá interromper a conversão. O número (0,1)10 será igual a (0,00011000110001100011000110001100011∙∙∙)2,
mas um sistema computacional uma hora irá interrompê-lo, operá-lo e converter
um resultado para a base 10, que pode ter erro aceitável ou não conforme o
algoritmo usado e o controle de erros feito em sua elaboração, devido às claras
limitações impostas às maquinas nestas condições.
□
Þ Gostou desta postagem? Usando estes
botões, compartilhe com seus amigos!
0 Comentários
Seu comentário será publicado em breve e sua dúvida ou sugestão vista pelo Mestre Blogueiro. Caso queira comentar usando o Facebook, basta usar a caixa logo abaixo desta. Não aceitamos comentários com links. Muito obrigado!
NÃO ESQUEÇA DE SEGUIR O BLOG DO MESTRE NAS REDES SOCIAIS (PELO MENU ≡ OU PELA BARRA LATERAL - OU INFERIOR NO MOBILE) E ACOMPANHE AS NOVIDADES!