Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
2. Sistemas de Numeração 
 
2.1. Introdução 
 
A necessidade de contar é algo que acompanha o ser humano desde tempos imemoriais. 
Muitas cavernas pré-históricas registram contagens, provavelmente de animais, na forma 
de pauzinhos colocados um ao lado do outro, e agrupados por traços diagonais, para me-
lhorar a leitura, como na Figura 2.1. 
 
 
 
Figura 2.1 
 
 
Diversas formas de contar e representar números foram inventadas e efetivamente utili-
zadas por muitos povos. Quando crianças, nós aprendemos a contar nos dedos das duas 
mãos, de um até dez, e isso nos parece a coisa mais natural do mundo. Porém muitos 
povos da antiguidade contavam usando uma outra tática, mais eficiente do que a nossa, 
provavelmente, com uma mão só: eles usavam o polegar para indicar em cada dedo a 
falange, falanginha e falangeta, e assim, cada dedo podia contar 3 números, possibilitan-
do a contagem de 12 números em cada mão (3 x 4, tirando o polegar obviamente, que era 
usado para apontar), como visto na Figura 2.2. 
 
 
 
 
Figura 2.2 
 
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
Tanto naqueles povos antigos quanto no mundo de hoje, a contagem de pequenas quan-
tidades poderia facilmente ser feita com uma ou duas mãos. Porém quando essa quanti-
dade aumenta, é necessário usar alguma outra tática. Muitas possibilidades existem para 
manipular números maiores. Para levarmos uma quantidade razoável de dinheiro, nós 
hoje usamos notas de diferentes valores, de um real, cinco reais, dez, cinqüenta, cem, 
etc., , ao invés de uma montanha de notas de um real. De forma muito parecida, os roma-
nos faziam mais ou menos isso, usando as letras I, V, X, L, C, etc. para registrar os núme-
ros grandes. A representação de um certo valor em notas de dinheiro não é unívoca, 
como a notação romana também não o era. Seria possível, por exemplo, representar 
XXXXXX para o número 60 mas na prática se preferia-se a notação LX, mas assim como 
nós geralmente preferimos uma nota de 50 e outra de 10 e não seis notas de 10. 
 
Não havia na notação romana a representação explícita do zero, e a necessidade do uso 
do zero apareceu um bom tempo depois. Explicando melhor: pense que só existam as 
notas de dinheiro de 1, 10 e 100 reais. Para representar o valor 372, poderíamos dizer: 3 
notas de 100, 7 notas de 10 e 2 notas de 1. Já para representar o valor 302, poderíamos 
dizer 3 notas de 100, ZERO notas de 10 e 2 notas de 1. Essa informação de ZERO notas 
de 10 é inócua, e realmente não se usa na prática, como os romanos também não usa-
vam nos seus números. 
 
Tanto os romanos quanto nós hoje usamos fortemente o número 10 como um padrão 
importante na representação da contagem (na verdade os romanos também usavam o 
número 5). Isso é fácil de aceitar: temos 10 dedos (ou 5 dedos em cada mão). Mas os 
babilônios contavam 12 em cada mão, e não 10. Então deve-se esperar que usassem 
números diferentes. 
 
Por exemplo, um mercador contava 1, 2, 3, 4 ...12 (acabavam os dedos da mão) e conti-
nuava contando: uma mão mais 1, uma mão mais 2, uma mão mais 3, etc. No registro 
escrito usado na babilônia usavam-se dois símbolos numéricos um ao lado do outro. O 
primeiro indicava a quantidade de mãos, o segundo a quantidade de dedos no fim da con-
tagem. Por razões que não vale a pena explicar neste contexto, a contagem básica ia até 
60 (5 dedos numa mão e 12 falanges na outra). Ainda hoje temos herança da contagem 
babilônica nos nossos relógios, que contam 12 horas e não 10. 
 
Nota: 
Deve-se notar que o uso da contagem até 60 é muito interessante: este número é múltiplo 
de 2, 3, 4, 5 e 6 (além de outros), trazendo simplicidade para as operações aritméticas 
envolvendo divisão, quando realizadas mentalmente. 
 
Uma invenção bastante interessante apareceu com os hindus por volta do século V e 
consistia no uso, lado a lado de dígitos, representando valores multiplicativos. Por exem-
plo, imaginemos notas de 1, 10 e 100 reais. Então, podemos pensar assim: 3 notas de 
100 reais, 7 notas de 10 reais e 2 notas de 1 real. Então não usamos o valor das notas e 
colocamos apenas a quantidade de bilhetes. Usamos a escrita da esquerda para a direita 
na ordem decrescente dos valores dos bilhetes, assim: 3 7 2. A própria forma de falar 
este número é uma imagem desta representação: trezentos (ou três centos) e setenta (ou 
sete entes) e dois. 
 
Nesta representação, originalmente se deixava um espaço (e não um zero) para indicar 
que numa casa específica não existia um fator multiplicativo. Por exemplo, se escrevia 
3_2 para representar o número 302. O símbolo zero foi inventado para facilitar a leitura 
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
deste espaço. O zero é um símbolo que, ao ser multiplicado por qualquer outro produz um 
resultado nulo. Zero reais, ou zero dezenas (ou seja zero vezes 10), ou zero centenas (ou 
seja zero vezes cem), tudo produz um valor nulo. 
 
Nota: Fatores religiosos foram usados para proibir durante muitos anos o uso do zero. A 
razão parece estranha, mas do ponto de vista teológico é extremamente válida. Deus é 
representado religiosamente como sendo o UM, a unidade, o início de tudo; então como 
poderia existir uma coisa que vem antes do UM? Esta polêmica religiosa prosseguiu du-
rante mais de um século, até que as vantagens inequívocas do uso matemático do zero 
acabaram por tornar esta discussão menos aceitável. 
 
Note que seria possível usar quaisquer valores para notas de dinheiro, mas os registros 
históricos mostram que essa invenção usava necessariamente em operações matemáti-
cas, valores múltiplos para as casas representadas: 1, 10, 100, 1000, etc. Esses valores 
fundamentais para as casas é denominado em matemática de BASE do sistema de nu-
meração posicional. 
 
Mas porque usamos base 10? Claro, temos 10 dedos. Mas os babilônios usavam a base 
10? Certamente não. Pense a respeito e faça uma pesquisa sobre como eles provavel-
mente faziam para escrever seus números. 
 
Nota: E se fôssemos habitantes de Andrômeda, que têm 6 dedos em cada uma das suas 
2 mãos, como contaríamos? E se fôssemos habitantes de Alfa Centauro, que têm 8 de-
dos em cada uma das suas 4 mãos, como faríamos? 
 
Leia mais sobre a interessante história dos sistemas de numeração em 
http://www.mediatinker.com/whirl/zero/zero.html 
 
 
2.2. Representação posicional de números 
 
 
Com a evolução da matemática a numeração posicional se estabeleceu em praticamente 
todos os países. Nesta notação, os algarismos (dígitos) são colocados lado a lado, e sua 
posição indica uma potência da base pela qual eles serão multiplicados. 
 
Na base 10 (ou seja usando o sistema de numeração que conhecemos desde o curso 
primário, e que faz uso dos dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), um número é representado 
como no exemplo a seguir: 
 
ou seja: 
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
 
 
10 é a base e os números 100, 10 e 1 são respectivamente: 
 
 
100 = 102 
10 = 101 
1 = 100 
 
Nota: talvez você tenha esquecido, então lembre-se: todo número elevado a zero vale 
um. 
 
372 = 3 x 102 + 7 x 101 + 2 x 100 
 
A operação de contagem na base 10 é simples. Cada casa começa com 0, e quando se 
chega a 9 a próxima casa é incrementada. Por simplicidade, zeros à esquerda não preci-
sam ser escritos. Por exemplo, usando 3 dígitos: 
 
 
e assim por diante. 
 
Quando se atinge 99 começa-se a contar novamente, considerando mais um dígito igual a 
1, ou seja 100, 101, 102, etc... A mesma coisa acontece em 999 ou 9999 ou 99999. 
 
Na vida diária de hoje, em quase todos os países do mundo, a base 10 é a campeã abso-
luta. Entretanto poderíamos efetivamente usar outras bases (diversos povos muito evoluí-
dos, como os babilônios, usaram bases não decimais). Imagine por exemplo escolhermosusar a base 5 (ou seja, contar apenas com uma das mãos). Neste sistema de numeração 
existiriam 5 dígitos básicos: 0, 1, 2, 3 e 4. Vamos então contar, usando apenas esses 
dígitos: 
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
 
e assim por diante. 
 
Repare que não existe nesta base 5 o número 5, bem como nenhum numero formado por 
dígitos diferentes de 0, 1, 2, 3 ou 4. 
 
Poderíamos tentar estabelecer um paralelo entre a base 5 e a base 10. Para não nos con-
fundirmos vamos colocar um subscrito após o número para diferenciar, por exemplo 1310 
indica um número 13 decimal usual, e 135 indica um número na base 5. Se contarmos na 
base 5, teremos a seguinte seqüência: 0, 1, 2, 3, ,4, 10, 11, 12, 13, 14, 20, 21, etc., por-
tanto o número 135 será o oitavo número contado. Podemos dizer então que: 
 
135 = 810 
 
Veremos mais adiante algumas técnicas bastante simples sobre como converter números 
representados em diversas bases. 
 
 
2.3. Numeração binária 
 
A base 10 era usada também nos primeiros computadores eletromecânicos, como o Mark 
I. Diversos matemáticos e engenheiros estavam naquela época envolvidos com a criação 
de computadores e seus programas, mas logo estes cientistas perceberam que os circui-
tos elétricos que eram usados para implementar operações aritméticas eram bastante 
complexos exatamente pelo fato de que a base 10 usa 10 representações diferentes para 
os dígitos. 
 
 Passou-se então a utilizar um esquema alternativo muito mais confiável eletricamente e 
mais econômico usando, não 10 dígitos, mas apenas dois dígitos, o zero e o um (em ou-
tras palavras, passou-se a usar a base 2). 
 
É fácil entender o porquê disso: o zero poderia ser facilmente associado a um circuito 
elétrico desligado e o um a um circuito ligado: isso é muito mais simples de implementar, 
por exemplo, do que um circuito que tenha internamente diversos (10) níveis de tensão. 
 
Nesta base a contagem dos números seria assim: 
 
 
0 10 100 110 1000 
1 11 101 111 ... 
 
Dá facilmente para estabelecer que: 
 
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
 02 = 010 
 12 = 110 
 102 = 210 
 112 = 310 
1002 = 410 
1012 = 510 
 
e assim por diante. Alguém poderia objetar que um número binário relativamente pequeno 
teria muitos dígitos se comparado à sua contraparte na base 10. Realmente: 
 
11111111112 = 102310 
 
mas a simplicidade e tamanho dos circuitos é imensamente menor e compensa essa dife-
rença. 
 
2.4. A base hexadecimal 
 
Existe, entretanto, um problema: quando nós, seres humanos, queremos exprimir um nú-
mero na base 2, também chamada base binária, a possibilidade de transcrição com erro é 
imensa pois os números têm muitos dígitos. Assim, é comum que nós, programadores, 
utilizemos duas outras bases alternativas, cuja conversão para a base 2 é quase imediata 
e pode ser feita sem calculadora, como veremos adiante: a base 8 (hoje em desuso) e a 
base 16, também chamada base hexadecimal. Veremos mais adiante como essas bases 
são usadas para a escrita simplificada e alternativa de números binários. 
 
Talvez você nem acredite nisso, mas é facílimo converter “de cabeça”: 
 
34142578 = 0111000011000101011112 
 
Todas as linguagens de programação moderna prevêem facilidades para escrita de nú-
meros hexadecimais (e algumas, como a linguagem C, também para a base 8). A dispo-
nibilidade de uso de uma base não decimal poderia causar um certo espanto a princípio, 
mas a razão é simples: essas bases são usadas para tornar a escrita de números biná-
rios por seres humanos, mais simples e menos sujeita a erro. 
 
Na base 8 existiriam 8 dígitos básicos: 0, 1, 2, 3, 4, 5, 6 e 7. Vamos então contar, usando 
apenas esses dígitos: 
 
 
 
 
e assim por diante. 
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
 
Repare que não existe nesta base 8 o dígito 8, e que só existem números formados por 
dígitos entre 0 e 7. Depois do número 778 vem o número 1008. 
 
Já na base 16 temos um problema: existirão 16 símbolos diferente. Entretanto, desde a 
escola primária, estamos acostumados a usar apenas 10 dígitos (de 0 a 9). Como fazer 
para representar os seis dígitos que faltam? A solução mais usada, especialmente para 
não ter que inventar novos símbolos é usar as letras A, B, C, D, E e F para representar 
estes novos dígitos. A contagem então seria assim: 
 
 
 
 
 
e assim por diante. 
 
Depois do AF vem B0, B1,... BF. 
Depois do BF vem C0, C1.... CF. 
etc. 
Depois do EF vem F0, F1.... FF. 
Depois do FF vem 100, 101, 102 etc. 
 
É importante guardar de cabeça, por conta das conversões que teremos que realizar, uma 
equivalência entre as letras da representação hexadecimal e seus valores absolutos de 
representação na base 10. 
 
A vale 10 
B vale 11 
C vale 12 
D vale 13 
E vale 14 
F vale 15 
 
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
2.5. Conversão entre bases 
 
Existem motivações (sejam históricas, de costume ou eletrônicas.) para escolhermos usar 
uma certa base na representação dos números em determinadas situações. Nosso reló-
gio apresenta as informações na bases 12 e 60, por razões completamente históricas, e 
isso em geral não nos traz maiores complicações (a menos que queiramos saber, por 
exemplo, quantas horas e minutos leva para assar 10 bolos num forno, sendo que cada 
um leva 6 minutos e 30 segundos para assar). Um outro exemplo, na memória dos com-
putadores modernos a informação está armazenada na base 2, e a motivação é o fato de 
que essa escolha simplifica enormemente os circuitos eletrônicos e permite que estes 
sejam mais rápidos. 
 
Entretanto, nós fomos educados na base 10, e é nesta base que conseguimos raciocinar 
com clareza. Vamos ensinar as técnicas simples que são usadas para converter números 
para bases diversas, enfatizando: 
 
 a base 10 – que nós conhecemos muito bem; 
 a base 2 – útil no projeto e programação dos computadores atuais; 
 as bases que são potência de 2, em especial a base 16 - muito usadas como uma 
alternativa para representar números binários de uma forma mais simples. 
 
a) Conversão de um número em qualquer base para a base 10 
 
Nós mostramos anteriormente a representação de um número decimal comum, 372, 
como seria representado como uma soma de múltiplos de potências de dez: 
 
 
 
ou seja: 
 
37210 = 3 x 100 + 7 x 10 + 2 x 1 
 
ou ainda: 
 
37210 = 3 x 102 + 7 x 101 + 2 x 100 
 
Então por analogia podemos tomar um outro número em outra base qualquer, e aplicar o 
mesmo raciocínio. Por exemplo: o número 1428 seria calculado usando potências de 8, 
em vez de potências de 10. 
 
1428 = 1 x 82 + 4 x 81 + 2 x 80 
 
ou seja: 
 
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
1428 = 1 x 64 + 4 x 8 + 2 x 1 
 
1428 = 64 + 32 + 2 = 9810 
 
Outro exemplo, usando a base 2: repare que o último fator multiplicativo, o da direita, 
será sempre elevado a zero. E qualquer coisa elevada a zero NÃO DÁ ZERO, cuidado, dá 
UM ! 
 
 
10012 = 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 
= 8 + 0 + 0 + 1 = 910 
 
 
Outro exemplo usando a base hexadecimal: 
 
1C7A16 = 1 x 163 + C x 162 + 7 x 161 + A x 160 
 
Antes de mais nada: lembre-se que, em hexadecimal: 
 
A vale 10 
C vale 12 
 
 
 1C7A16 = 1 x 163 + 12 x 162 + 7 x 161 + 10 x 160 
 1C7A16 = 4096 + 3072 + 112 + 10 = 7290 
 
 
b) conversão de um número na base 10 para qualquer base 
 
Para converter um número na base 10 para uma base B, a idéia é fazer divisões sucessi-
vas do número pela base B, até o quociente ser zero. Então tomar os restos em ordem 
inversa. 
 
Exemplo: queremos calcular a representação do número 10310 na base 5. Vamos dividir 
sucessivamente 100 por 5. 
 
 
103 ÷ 5 = 20 resto 3 
20 ÷ 5 = 4 resto0 
4 ÷ 5 = 0 resto 4 
 
Agora lemos os restos de trás para diante: 10010 = 4035 
 
Conferindo: 
 
4 x 52 + 0 x 51 + 3 x 50 = 100 + 0 + 3 = 10310 
 
A maior parte das pessoas faz isso na mão fazendo uma escadinha de divisões, parando 
quando não der mais para dividir. Neste caso não esquecer de pegar também o último 
quociente e juntar com os restos, em ordem reversa (ou então fingir uma última divisão 
em que o último quociente seja zero). 
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
 
 
Lemos último quociente e os restos de trás para diante: 10010 = 4035 
 
Ex: converter 32710 para a base 2. 
 
 
 
 
 
32710 = 1010001112 
 
Ex.: converter 30010 para a base 16 (hexadecimal) 
 
O problema é resolvido exatamente da mesma maneira, lembrando-se de traduzir, sem-
pre que o resto for maior que 9 pelas letras A, B, C, D, E ou F. 
 
300 ÷ 16 = 18 resto 12 12 vale “C” 
18 ÷ 16 = 1 resto 2 
1 ÷ 16 = 0 resto 1 
 
portanto 
 
30010 = 12C16 
 
 
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
c) conversão de números em bases potência de dois para a base binária 
 
Para entendermos a idéia desta conversão, fizemos uma contagem seqüencial usando a 
base 8. Do lado desta contagem colocamos a representação em binário, usando 5 dígi-
tos binários. Só para facilitar a leitura usamos um espacinho separando os três dígitos 
binários da direita. 
 
 
 
00 00 000 
01 00 001 
02 00 010 
03 00 011 
04 00 100 
05 00 101 
06 00 110 
07 00 111 
10 01 000 
11 01 001 
12 01 010 
13 01 011 
14 01 100 
15 01 101 
16 01 110 
17 01 111 
20 10 000 
21 10 001 
22 10 010 
23 10 011 
24 10 100 
25 10 101 
26 10 110 
27 10 111 
30 11 000 
31 11 001 
32 11 010 
33 11 011 
34 11 100 
35 11 101 
36 11 110 
37 11 111 
 
 
Repare agora: 
 
Os números binários começam sempre; 
Na primeira coluna, por 00 0 em decimal 
Na segunda coluna, por 01 1 em decimal 
Na terceira coluna, por 10 2 em decimal 
Na quarta coluna, por 11 3 em decimal 
 
Existe uma repetição na parte direita dos dígitos binários, em todas as colunas. 
 
Com um pouco de imaginação então você chegará a uma regra muito simples: para con-
verter um número numa base potência de dois para a base 2, simplesmente escreva indi-
vidualmente os dígitos do número na 2, com um número de casas igual à potência de 
dois! 
 
Ex.: 
Base 8 
8 é 2 elevado a 3, então 
 
 4168 = vale quanto na base 2? 
 
Pode-se escrever assim: 
 
 4 escrito em binário com 3 casas 100 
1 escrito em binário com 3 casas 001 
6 escrito em binário com 3 casas 110 
 
ou seja 
4168 = 1000011102 
 
Para não nos enganarmos, é interessante escrever a tabelinha completa de conversão da 
base, por exemplo, na base 8, seria assim: 
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
Atualizado em 28/5/2004 17:38 
 
0 000 
1 001 
2 010 
3 011 
4 100 
5 101 
6 110 
7 111 
 
Ex.: escrever o número 3CF116 na base 2. 
 
 Antes de mais nada, para não nos enganarmos, vamos escrever a tabelinha de conta-
gem da base 16. 
 
0 0000 
1 0001 
2 0010 
3 0011 
4 0100 
5 0101 
6 0110 
7 0111 
 
8 1000 
9 1001 
A 1010 
B 1011 
C 1100 
D 1101 
E 1110 
F 1111
 
Organização de Computadores Antônio Borges / Gabriel P. Silva
 
 
Agora converta automaticamente: 
 
3CF116 = 0001 1100 FFFF 0001 
 
Nota: deixei estes espaços em branco no meio do número binário que teria na verdade 16 dígitos 
coladinhos, só para ficar mais fácil a leitura, e para você conseguir perceber claramente que usei 
os números da tabela. 
 
Uma dica para decorar a tabelinha da base 16: 
 
Decore apenas a tabelinha de conversão binária da base 8. Para escrever a tabelinha da base 16, 
escreva esta tabelinha binária duas vezes em duas colunas, como mostrado aqui, colocando um 
dígito zero antes dos números binários da primeira coluna e o dígito 1 na segunda coluna. 
 
 
d) conversão genérica entre quaisquer bases 
 
 
Para converter entre uma base B1 e outra base B2 genéricas, a técnica mais usada é a seguinte: 
faça em dois passos. 
 
- Converta o número na base B1 para a base 10; 
- Depois converta este novo número na base 10 para a base B2. 
 
Exemplo: 
 
Converter 3178 para a base 5. 
 
Primeiro converta 3178 para a base 10 
 
3178 = 3 x 82 + 1 x 81 + 8 x 80 
= 20710 
 
Agora converta 20710 para a base 5 
 
207 ÷ 5 = 41 resto 2 
41 ÷ 5 = 8 resto 1 
8 ÷ 5 = 1 resto 3 
1 ÷ 5 = 0 resto 1 
 
então: 
 
 3178 = 20710 = 13125

Mais conteúdos dessa disciplina