Buscar

bases numericas

Prévia do material em texto

■ ■ Os números são representados no sistema 
decimal, mas os computadores utilizam o sistema 
binário. Embora empreguem símbolos 
distintos, os dois sistemas formam números 
a partir das mesmas regras e podem ser 
facilmente convertidos entre si. De fato, os 
números podem ser representados em qualquer 
base maior ou igual a dois, e essas 
representações podem ser facilmente 
convertidas de uma frase para outra. Os 
principais métodos de conversão, baseados em 
aritmética decimal, são apresentados neste capítulo.
bases numéricas
capítulo 1
Weber_01.indd 1Weber_01.indd 1 18/04/12 14:3318/04/12 14:33
2 Fundamentos de Arquitetura de Computadores
1.1
 
introdução
Quando o homem aprendeu a contar, ele foi obrigado a desenvolver símbolos que repre-
sentassem as quantidades e grandezas que ele queria utilizar. Esses 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 obje-
tos 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 mostradas) 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 desse sistema. 
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 disso, havia uma série de regras (como a posição relativa dos símbolos aos seus vizi-
nhos), que permitiam interpretar estes símbolos e determinar 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 extremamente complexa e de aplicação praticamente impossível. Posteriormen-
te, os árabes utilizaram um sistema originário da Índia, que possuía 10 algarismos (0 a 9), 
com os seguintes símbolos (da esquerda para a direita, 1234567890):
Weber_01.indd 2Weber_01.indd 2 18/04/12 14:3318/04/12 14:33
Capítulo 1 Bases Numéricas 3
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), destacando-se pelas seguintes 
características:
 ■ existe um símbolo para o valor nulo.
 ■ cada algarismo utilizado é uma unidade maior que o seu predecessor.
 ■ 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, em que a representa o 
número propriamente dito, B, a base do sistema de numeração (B≥2), xi, os algarismos 
(0≤xi<B), e o intervalo de –m a n–1, o número de posições utilizadas. Com B=10 tem-se 
o sistema decimal.
O algarismo xi tem peso B
i, 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 espe-
cífico de números inteiros, utilizando-se n dígitos (ou “casas”), indexados de 0 (dígito menos 
significativo) até n–1 (dígito mais significativo), a fórmula fica:
ou, por extenso, expandindo-se o somatório:
a = xn–1.B
n-1 + xn–2.B
n–2 + . . . . + x2.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 + . . . . + x2.B
2 + x1.B + x0
Weber_01.indd 3Weber_01.indd 3 18/04/12 14:3318/04/12 14:33
4 Fundamentos de Arquitetura de Computadores
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 dez algarismos distintos (de 0 a 9).
 ■ quando uma posição é ocupada pelo maior algarismo e ela deve ser aumentada de uma 
unidade, 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 à direita (denominado de dígito menos significativo) tem peso um. O al-
garismo imediatamente à esquerda tem o peso da base B, o seguinte à 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 mate-
má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, todos os 
computadores usam 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 por meio 
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 a aritmética da base de destino:
1100012 = 1.2
5 + 1.24 + 0.23 + 0.22 + 0.21 + 1.20 = 32 + 16 + 0 + 0 + 0 + 1 = 4910
1100012 = 1.2
5 + 1.24 + 0.23 + 0.22 + 0.21 + 1.20 = 408 + 208 + 0 + 0 + 0 + 18 = 618
Nesses exemplos, simplesmente foi aplicada a fórmula:
a = xn–1.B
n-1 + xn–2.B
n–2 + . . . . + x2.B
2 + x1.B + x0
em que B é a base de origem, e a, o número resultante na base de destino. Observe que todos 
os cálculos são realizados na aritmética da base de destino.
Weber_01.indd 4Weber_01.indd 4 18/04/12 14:3318/04/12 14:33
Capítulo 1 Bases Numéricas 5
1.3.2 método de subtrações
Sabendo que um número em uma determinada base B é representado pela fórmula
a = xn–1.B
n–1 + xn–2.B
n–2+ . . . . + x2.B
2 + x1.B + x0
a conversão para a 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 de origem) do maior 
coeficiente pela 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 isso tem-se:
a’ = a – xn–1.B
n–1 = xn–2.B
n–2 + . . . . + x2.B
2 + x1.B + x0
Para determinar o algarismo seguinte à direita (xn–2), repete-se o processo, usando agora a di-
ferenç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 que o resultado das diversas subtrações sempre deve ser positivo (ou 
zero). Se a subtração não for possível, isso indica que o coeficiente xi é zero.
Para converter o número decimal 681 para binário, por exemplo, tem-se os seguintes cálculos:
681 – 1.29 = 681 – 512 = 169
169 – 0.28 = 169 – 0.256 = 169
169 – 1.27 = 169 – 128 = 41
41 – 0.26 = 41 – 0.64 = 41
41 – 1.25 = 41 – 32 = 9
9 – 0.24 = 9 – 0.16 = 9
9 – 1.23 = 9 – 8 = 1
1 – 0.22 = 1 – 0.4 = 1
1 – 0.21 = 1 – 0.2 = 1
1 – 1.20 = 1 – 1 = 0
Ou seja,o número final, em binário, é 1010101001.
Se o resultado de uma subtração produzir resultado zero, isso significa que todos os dígitos 
restantes são zero, como no exemplo a seguir.
680 – 1.29 = 680 – 512 = 168
168 – 0.28 = 168 – 0.256 = 168
168 – 1.27 = 168 – 128 = 40
40 – 0.26 = 40 – 0.64 = 40
40 – 1.25 = 40 – 32 = 8
8 – 0.24 = 8 – 0.16 = 8
8 – 1.23 = 8 – 8 = 0
Weber_01.indd 5Weber_01.indd 5 18/04/12 14:3318/04/12 14:33
6 Fundamentos de Arquitetura de Computadores
Os coeficientes restantes (x2, x1 e x0) são iguais a zero, 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, interrompe-se o método após obter-se o número de 
casas desejado.
6,125 – 1.22 = 6,125 – 4 = 2,125
2,125 – 1.21 = 2,125 – 2 = 0,125
0,125 – 0.20 = 0,125 – 0.1 = 0,125
0,125 – 0.2 – 1 = 0,125 – 0.0,5 = 0,125
0,125 – 0.2 – 2 = 0,125 – 0.0,25 = 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,8125 – 6.8 – 1 = 0,8125 – 0,7500 = 0,0625
0,0625 – 4.8 – 2 = 0,0625 – 0,0625 = 0
Ou seja, 6,812510=6,648. Note 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 res-
to desta divisão forma o algarismo mais à direita (menos significativo) do número convertido. 
O quociente é novamente dividido, e assim sucessivamente, até o resto ser zero. A sequência 
de todos os restos forma o novo número.
Note 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 + . . . . + x2.B
2 + x1.B + x0)/B
ou seja
a /B = xn–1.B
n–2 + xn–2.B
n–3 + . . . . + x2.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
26 ÷ 2 = 13, resta 0
13 ÷ 2 = 6, resta 1
6 ÷ 2 = 3, resta 0
3 ÷ 2 = 1, resta 1
1 ÷ 2 = 0, resta 1
Weber_01.indd 6Weber_01.indd 6 18/04/12 14:3318/04/12 14:33
Capítulo 1 Bases Numéricas 7
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).
Exemplo:
0,828125 . 2 = 1,65625 Parte inteira = 1 Fração = 0,1
0,65625 . 2 = 1,3125 Parte inteira = 1 Fração = 0,11
0,3125 . 2 = 0,625 Parte inteira = 0 Fração = 0,110
0,625 . 2 = 1,25 Parte inteira = 1 Fração = 0,1101
0,25 . 2 = 0,5 Parte inteira = 0 Fração = 0,11010
0,5 . 2 = 1,0 Parte inteira = 1 Fração = 0,110101
1.3.4 método da substituição direta
Este é o método mais fácil, mas funciona somente para bases que são potências inteiras entre 
si, 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, tem-se as seguintes regras:
 ■ para converter de B1 (a maior base) para B2 (a menor base), cada algarismo de B1 é subs-
tituí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 trans-
formado no seu algarismo equivalente na nova base:
1110,011012 = 001 110 , 011 010 = 1 6 , 3 28
1110,011012 = 1110 , 0110 1000 = E , 6 816
Observe que este método também pode ser utilizado entre duas bases que não sejam dire-
tamente 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 a base 
2 como terceira base).
Weber_01.indd 7Weber_01.indd 7 18/04/12 14:3318/04/12 14:33
8 Fundamentos de Arquitetura de Computadores
 ■ exercícios propostos
 1. Converter para a base decimal os seguintes números:
 a) 1010102 e) 21658
 b) 10103 f) 1FA216
 c) 10214 g) E1A16
 d) 10256 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 e) 49 para a base quaternária
 b) 96 para a base octal f) 57 para a base ternária
 c) 258 para a base hexadecimal g) 56 para a base binária
 d) 258 para a base binária h) 56 para a base hexadecimal
 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 e) 49 para a base quaternária
 b) 96 para a base octal f) 57 para a base ternária
 c) 258 para a base hexadecimal g) 56 para a base binária
 d) 258 para a base binária h) 56 para a base hexadecimal
 4. Usando o método das substituições, converter os seguintes números para a base indi-
cada:
 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
 5. Qual é o valor decimal de 011011012? Qual é a representação binária de 654?
 6. Converter para binário os seguintes números decimais:
 a) 39 c) 256,75
 b) 0,4475 d) 129,5625
 7. Converter para decimal os seguintes números binários:
 a) 01101 c) 0111011,1011
 b) 0,001101 d) 010110011
Weber_01.indd 8Weber_01.indd 8 18/04/12 14:3318/04/12 14:33
Capítulo 1 Bases Numéricas 9
 8. Converter os seguintes números hexadecimais em decimais:
 a) B6C7 b) D2763 c) 9,1A
 9. Converter os seguintes números octais em binário:
 a) 56 c) 231,2
 b) 32,234 d) 3364
 10. Converter os seguintes números hexadecimais em binários:
 a) AB2 c) 649
 b) 12,A d) 0,D19
 11. Converter os seguintes números binários em hexadecimais:
 a) 010110111 b) 011110,01011 c) 01110100010101
Termos-chave
conversão de frações, p. 6
conversão direta, p. 6
conversão polinomial, p. 4
conversão por divisões, p. 5
conversão por subtrações, p. 5
representação polinomial, p. 4
sistema de numeração arábica, 
p. 3
Weber_01.indd 9Weber_01.indd 9 18/04/12 14:3318/04/12 14:33

Continue navegando