Capítulo
UM
Bases Numéricas
1 . 1 Introdução
Quando o homem aprendeu a contar, ele foi obrigado a desenvolver símbolos que
representassem as quantidades e grandezas que ele queria utilizar. Estes símbolos, os
algarismos, constituem a base dos sistemas de numeração.
Nos tempos pré-históricos o homem utilizou uma correspondência um-para-um entre os
objetos a serem contados e os seus dedos, ou então para pedrinhas ou mesmo para “riscos”.
Um sistema deste tipo seria um “sistema unário” (com um único símbolo):
Os primeiros algarismos encontrados consistiam em marcas horizontais ou verticais (como as
acima) com traços de ligação entre elas para definir as quantidades superiores a um. Os
símbolos romanos básicos podem ser considerados como uma evolução do sistema acima.
Os algarismos romanos são basicamente aditivos: assim, por exemplo, III = I + I + I. Para
facilitar a representação de grandes quantidades, foram introduzidos símbolos especiais para
grupos:
I=1
V=5
X=10
L=50
C=100
D=500
M=1000
Além disto, utilizam-se uma série de regras (como por exemplo a posição relativa dos
símbolos aos seus vizinhos), que permitiam interpretar estes símbolos e determinar qual o
número que estava sendo representado:
VI=5+1=6 CXVI=100+10+5+1=116
IV=5-1=4 MCMLIX=1000+(1000-100)+50+(10-1)=1959
A realização de cálculos com este sistema, especialmente para operações como multiplicação
e divisão, era entretanto extremamente complexa e de aplicação praticamente impossível.
Posteriormente, os árabes utilizaram-se de um sistema originário da Índia, que possuía 10
símbolos (0 a 9), com os seguintes símbolos (da esquerda para direita, 1234567890):
Este sistema começou a ser utilizado na Europa no século 12, e é conhecido atualmente como
sistema de numeração arábica (mas com outros algarismos), e se destaca pelas seguintes
características:
• existe um símbolo para o valor nulo.
• cada algarismo utilizado é uma unidade maior que o seu predecessor.
1-1
• a notação é posicional, ou seja, o valor de um algarismo é determinado pela sua
posição dentro do número. Cada posição possui um determinado peso.
1 . 2 Representação de números
Os sistemas atuais formam os números pela fórmula a seguir, onde a representa o número
propriamente dito, B representa a base do sistema de numeração (B≥2), x i representam os
algarismos (0≤xi<B), e n representa o número de posições utilizadas. Com B=10 tem-se o
sistema decimal.
n
Σ (xi.B i)
a=
i=–m
O algarismo xi tem peso Bi, determinado pela sua posição. Para i com valores positivos,
tem-se pesos maiores que a unidade; para i=0 tem-se exatamente o peso unitário (B0=1).
Para valores negativos de i, tem-se pesos menores que a unidade (fracionários). Para o caso
específico de números inteiros, utilizando-se n dígitos (ou “casas”), indexados de 0 até n–1,
a fórmula fica:
n-1
Σ (xi.B i)
a=
i=0
ou, por extenso, expandindo-se o somatório:
a =xn-1.B n-1+xn-2.B n-2+. . . . +x 2.B 2+x1.B 1+x0.B 0
ou ainda, simplificando-se a expressão:
a =xn-1.B n-1+xn-2.B n-2+. . . . +x 2.B 2+x1.B+x0
Para os sistemas de numeração utilizam-se as seguintes regras:
• A base B de um sistema é igual à quantidade de algarismos distintos utilizados. Para a
base decimal, tem-se 10 algarismos distintos (de 0 a 9).
• Quando uma posição é ocupada pelo maior algarismo, e ela deve ser aumentada de uma
unidade, então esta posição recebe o símbolo nulo e a posição seguinte deve ser
aumentada de uma unidade. Assim, 9+1=10, 19+1=20, 99+1=100, 1999+1=2000.
• O algarismo mais a direita (denominado de dígito menos significativo) tem peso um. O
algarismo imediatamente a esquerda tem o peso da base B, o seguinte a esquerda tem
peso de B ao quadrado, depois B ao cubo, e assim por diante.
• O valor de cada algarismo de um número é determinado multiplicando-se o algarismo
pelo peso de sua posição.
• O valor de um número é determinado pela soma dos valores de cada algarismo.
1 . 3 Transformação entre bases
Os computadores atuais utilizam internamente somente um sistema de numeração: o sistema
binário (B=2), com os algarismos 0 e 1. Este sistema foi estudado profundamente pelo
matemático alemão Leibniz, no século 17. Somente com o advento dos computadores
eletrônicos digitais, entretanto, tal sistema começou a ser utilizado na prática. Atualmente,
1-2
todos os computadores utilizam internamente o sistema binário para armazenamento e
manipulação de números e dados. O tratamento de números representados em outras bases
ocorre através de rotinas de codificação e decodificação. O mesmo ocorre com símbolos
alfanuméricos.
1 . 3 . 1 Método polinomial
Como cada número pode ser representado por um polinômio em uma certa base, tudo o que
se deve fazer para transformar um número de uma base para outra é interpretar este número
como um polinômio utilizando-se aritmética da base de destino:
1100012=1.25+1.24+0.23+0.22+0.21+1.20=32+16+0+0+0+1=4910
1100012=1.25+1.24+0.23+0.22+0.21+1.20=408+208+0+0+0+1 8=618
Nos exemplos acima, simplesmente aplicou-se a fórmula:
a = xn-1.B n-1+xn-2.B n-2+. . . . +x 2.B 2+x1.B+x0
onde B é a base de origem e a é o número resultante na base destino. Observe-se que todos
os cálculos são realizados na aritmética da base de destino.
1 . 3 . 2 Método de subtrações
Sabendo-se que um número em uma determinada base B é representado pela fórmula
a =xn-1.B n-1+xn-2.B n-2+. . . . +x 2.B 2+x1.B+x0
a conversão para determinação dos coeficientes xi é iniciada da esquerda (xn-1) para a direita
(até x0). Inicia-se determinando os valores de n (a quantidade de dígitos necessária) e de xn-1
(o dígito mais significativo). Para tanto procura-se o produto (na base origem) do maior
coeficiente com a maior potência da nova base, que está contido no número a ser convertido,
ou seja, procura-se o maior produto xn-1.B n-1 que seja menor (ou igual) que a. Este
coeficiente xn-1 é o algarismo a ser utilizado na posição mais à esquerda (dígito mais
significativo) do número na nova base. Subtrai-se este produto do número a ser convertido.
Com isto tem-se:
a ' = a – xn-1.B n-1 = xn-2.B n-2+. . . . +x 2.B 2+x1.B+x0
Para determinar-se o algarismo seguinte à direita (xn-2), repete-se o processo, usando agora a
diferença do passo anterior (a') e a potência imediatamente inferior (se no passo anterior
usou-se a potência Bi, utiliza-se agora Bi-1), e assim sucessivamente até todos os n dígitos
terem sido determinados. Note-se que o resultado das diversas subtrações sempre deve ser
positivo (ou zero). Se a subtração não for possível, isto indica que o coeficiente xi é zero.
681-1.29=681-512=169
169-1.27=169-128=41
41-1.25=41-32=9
9-1.23=9-8=1
1-0.21=1-0.2=1
169-0.28=169-0.256=169
41-0.26=41-0.64=41
9-0.24=9-0.16=9
1-0.22=1-0.4=1
1-1.20=1-1=0
Ou seja, o número final, em binário, é 1010101001.
1-3
Se o resultado de uma subtração produzir resultado zero, isto significa que todos os dígitos
restantes são zero, como ilustrado no exemplo a seguir.
680-1.29=680-512=168
168-1.27=168-128=40
40-1.25=40-32=8
8-1.23=8-8=0
168-0.28=168-0.256=168
40-0.26=40-0.64=40
8-0.24=8-0.16=8
Os coeficientes restantes (x2, x 1 e x 0) são iguais a zeros, e o número final, em binário, é
1010101000.
O método também se aplica para números com frações. Se não for possível chegar a zero
após um certo número de posições, então interrompe-se o método após o número de casas
desejado.
6,125-1.22=6,125-4=2,125
0,125-0.20=0,125-0.1=0,125
0,125-0.2-2=0,125-0.0,25=0,125
2,125-1.21=2,125-2=0,125
0,125-0.2-1=0,125-0.0,5=0,125
0,125-1.2-3=0,125-0,125=0
Ou seja, o número final é 110,001.
O método também se aplica para outras bases. Seja a conversão de 6,8125 de decimal para
octal:
6,8125-6.80=6,8125-6=0,8125
0,0625-4.8-2=0,0625-0,0625=0
0,8125-6.8-1=0,8125-0,7500=0,0625
Ou seja, 6,8125 10=6,648. Note-se que sempre se utiliza a aritmética da base de origem.
1 . 3 . 3 Método das divisões
O número a ser convertido é dividido pela nova base (na aritmética da base de origem). O
resto desta divisão forma o algarismo mais a direita (menos significativo) do número
convertido. O quociente é novamente dividido, e assim sucessivamente, até o quociente final
ser zero. A sequência de todos os restos forma o novo número.
Note-se que ao dividir o número a pela base B obtém-se:
a /B=(xn-1.B n-1+xn-2.B n-2+. . . . +x 2.B 2+x1.B+x0)/B
ou seja
a /B=xn-1.B n-2+xn-2.B n-3+. . . . +x 2.B 1+x1, com resto igual a x0
A divisão seguinte por B produz como resto x1, e assim sucessivamente até xn-1.
53÷2=26, resta 1
13÷2=6, resta 1
3÷2=1, resta 1
26÷2=13, resta 0
6÷2=3, resta 0
1÷2=0, resta 1
Número binário resultante: 110101
Para frações, o método se modifica um pouco: a fração é multiplicada pela nova base; a parte
inteira resultante forma o algarismo mais à esquerda da nova fração e a parte fracionária é
submetida novamente ao método, até o resultado ser zero (ou até atingir-se o número de
dígitos significativos desejado).
1-4
Exemplo:
0,828125 . 2 = 1,65625
0,65625 . 2 = 1,3125
0,3125 . 2 = 0,625
0,625 . 2 = 1,25
0,25 . 2 = 0,5
0,5 . 2 = 1,0
Parte inteira = 1
Parte inteira = 1
Parte inteira = 0
Parte inteira = 1
Parte inteira = 0
Parte inteira = 1
Fração = 0,1
Fração = 0,11
Fração = 0,110
Fração = 0,1101
Fração = 0,11010
Fração = 0,110101
1 . 3 . 4 Método da substituição direta
Este é o método mais fácil, entretanto funciona somente para bases que são potências inteiras
entre si, como por exemplo de octal para binário (e vice-versa) ou de hexadecimal para
binário (e vice-versa). Seja B1=B2m; para um determinado m inteiro, então tem-se as
seguintes regras:
• para converter de B1 (a maior base) para B2 (a menor base), cada algarismo de B1 é
substituído por m algarismos equivalentes de B2:
5 1 78 = 101 001 1112
7 0 C16 = 0111 0000 11002
• para converter de B2 para B1, agrupam-se os algarismos em grupos de m, tomando-se
a vírgula como referência, ou seja, formam-se grupos de m algarismos tanto para a
esquerda da vírgula (parte inteira) como para a direita (parte fracionária). Cada grupo é
então transformado no seu algarismo equivalente na nova base:
1110,01101 2 = 001 110 , 011 010 = 1 6 , 3 28
1110,01101 2 = 1110 , 0110 1000 = E , 6 816
Observe-se que este método também pode ser utilizado entre duas bases que não seja
diretamente uma potência da outra, desde que ambas sejam potências inteiras de uma terceira
base. Assim, por exemplo, pode-se converter da base octal para hexadecimal (usando-se a
base 2 como terceira base).
1 . 4 Exercícios propostos
1. Converter para a base decimal os seguintes números:
a) 1010102
b)10103
c) 10214
d) 10256
e) 21658
f) 1FA216
g) E1A16
h) 7078
2. Usando o método das divisões, converter os seguintes números decimais para a base
indicada:
a) 96 para a base ternária
b) 96 para a base octal
c) 258 para a base hexadecimal
d) 258 para a base binária
e) 49 para a base quaternária
f) 57 para a base ternária
1-5
g) 56 para a base binária
3. Usando o método das subtrações, converter os seguintes números decimais para a base
indicada:
a) 96 para a base ternária
b) 96 para a base octal
c) 258 para a base hexadecimal
d) 258 para a base binária
e) 49 para a base quaternária
f) 57 para a base ternária
g) 56 para a base binária
4. Usando o método das substituições, converter os seguintes números para a base indicada:
a) 1011000110102 para a base octal
b) 1011000110102 para a base hexadecimal
c) 001011001012 para a base octal
d) 001011001012 para a base hexadecimal
e) 3478 para a base binária
f) 72418 para a base binária
g) 3AF16 para a base binária
h) 7E4B16 para a base binária
1-6
Download

Conversão entre Bases