You are on page 1of 8

Sistemas de Numerao Utilizados na Informtica

Esteja voc iniciando no mundo da informtica ou j seja um profissional respeitado


neste ramo, uma das primeiras informaes que voc ouve falar que os computadores
trabalham com nmeros binrios, popularmente chamados de 0 e de 1. A maioria das
pessoas costuma dizer, simplesmente, que o 0 significa ausncia de energia e o 1,
presena de energia. Mas ser que isso realmente verdade? Neste artigo, vamos ir
desmistificar este mito e ir um pouco alm, explicando a construo matemtica dos
famosos nmeros binrios, algumas operaes que podemos fazer com eles, onde eles
so utilizados alm dos micros, assim como outros sistemas de numerao muito
presentes no meio computacional que, se voc ainda no viu, certamente ver algum
dia. Para isso, no entanto, ser necessrio introduzirmos alguns conceitos matemticos
para que possamos sustentar nossa argumentao. Assim, segure firme, pois nossa
viagem vai comear!
Um, dois, muitos!
Os nmeros Naturais so utilizados para resolver problemas de contagem e foram os
primeiros a serem utilizados pela humanidade. J no incio da civilizao, havia uma
certa "correspondncia binria" neste processo, pois as tribos primitivas costumavam
contar as coisas como "um, dois e muitos", ou seja, todo conjunto ou coleo que
tivesse mais de dois elementos era considerado como muitos ou infinito. Essa herana
primitiva permanece at hoje: em francs, por exemplo, a palavra "muitos" se traduz
como "trs" e este radical est presente em vrios idiomas modernos para representar tal
nmero: no prprio francs, trs traduzido como trois, em ingls, three, em Italiano,
tre e assim por diante. Com a evoluo histrica, social e intelectual da humanidade,
evoluiu tambm o conceito de infinito mas, embora seja matematicamente incorreto,
comum pessoas dizerem que uma quantidade enorme ou incontvel infinita.
Embora a matemtica tenha um alto nvel de exigncia no tocante ao rigor das
demonstraes lgicas, por muito tempo o conjunto N foi tido apenas como intuitivo e
no demonstrvel, tanto que o famoso matemtico Leopold Kronecker (1823 - 1891)
chegou a afirmar que Deus criou os nmeros Naturais e o homem fez todo o resto. Foi
apenas em 1889 que o matemtico italiano Giuseppe Peano (1858 - 1932) conseguiu
caracterizar os nmeros Naturais de forma axiomtica, atravs dos famosos Axiomas de
Peano. Posteriormente, seguiram-se outras demonstraes mais complexas e rigorosas
deste conjunto.
Para entendermos os sistemas de numerao, precisamos de dois conceitos importantes
no conjunto N: divisibilidade e diviso euclidiana.
Divisibilidade em N
A divisibilidade a verso multiplicativa da relao de ordem e definida como: dados
dois nmeros naturais a e b, com b diferente de 0, dizemos que b divide a (ou, de forma
recproca, que a um mltiplo de b) e anotamos b| a se e somente se existe um outro
nmero natural c tal que a = b . c.
Por exemplo: 2| 6 pois 6 = 3 . 2; 7| 63 pois 63 = 7 . 9, mas 3 no divide 8, pois no
existe nenhum nmero natural que multiplicado por trs resulte em 8.
Percebamos, aqui, que o conceito de divisibilidade nada mais do que achar uma
soluo para a equao bx = a . Por este motivo, tratamos deste assunto apenas no
conjunto dos nmeros Naturais e Inteiros, pois ela poder ou no ter uma soluo; em
outros conjuntos, como Q, I ou R, sempre existir algum x que satisfaa a equao. Se
trouxssemos o ltimo exemplo para Q, teramos que x=8/ 3. Notemos com isso, b
sempre menor ou igual a a.
O algortimo de Euclides para a diviso
Euclides foi um famoso matemtico grego que viveu em aproximadamente 300 a.C. Foi
ele quem escreveu a obra Os Elementos, que definem os alicerces para a Geometria que
vemos nos ensinos Fundamental e Mdio e que tambm utilizada em vrias reas,
como engenharia, design e construo civil.
Fora da Geometria, Euclides descobriu um teorema o qual nos permite dividir qualquer
nmero Natural por outro - e voc certamente o conhece desde o incio de sua vida
escolar. Ele se baseia na ideia de divisibilidade a qual acabamos de ver e tem por
objetivos responder a uma simples pergunta: Se a e b so nmeros Naturais e b no
divide a, qual ser o mltiplo de b que mais se aproxima de a? A resposta a esta
pergunta est em um teorema o qual afirma que, se a e b so nmeros Naturais, ento
existem e so nicos os nmeros Naturais q e r tais que a = q . b + r , sendo que r
menor do que b.
Chamamos a q de quociente e a r de resto. A condio de que o resto seja menor do que
o divisor b nos garante que o quociente ser nico. Caso no fizssemos essa restrio, a
diviso de a por b poderia ter infinitos resultados.
Como vimos no exemplo anterior, 3 no divide 8. Assim, podemos utilizar o algortimo
da diviso euclidiana e concluir que 8 = 2 . 3 + 2, ou seja: 6, 3 . 2, o mltiplo de
3 que mais se aproxima de 8. Nesta expresso, perceba que q = 2 e r = 2 e, ainda, que
o valor de r menor do que o divisor 3. Caso no considerssemos a condio r < b,
tambm poderamos escrever que 8 = 1 . 3 + 5 ou que 8 = 0 . 3 + 8 e, se
considerssemos o conjunto dos nmeros inteiros, Z, teramos mais infinitas
possibilidades. Desta forma, garantimos a unicidade do resultado ao considerar que o
resto sempre dever ser menor do que o divisor. Perceba, ainda, que se a for mltiplo de
b, o resto ser igual a 0 e a diviso ser dita exata.
Sistemas de numerao
Agora que temos toda a base matemtica de que precisamos, podemos tratar dos
sistemas de numerao em si. Um sistema de numerao nada mais do que um sistema
onde um conjunto de nmeros representado por numerais de forma consistente.
Atualmente, ns utilizamos um sistema de numerao decimal, isto , de base 10, que
dito posicional, ou seja, cada algarismo, alm de seu valor, possui um peso dado atravs
da posio que ocupa. Desta forma, embora os nmeros 518 e 851 sejam compostos
pelos mesmos algarismos, sabemos que eles representam quantidades diferentes.
A princpio, a base do sistema de numerao pode ser um nmero qualquer. Os
babilnios antigos usavam um sistema de base 60 cujos vestgios encontramos ainda
hoje na medio de ngulos e nos relgios, por exemplo. Quando a base do sistema
menor ou igual a 10, utilizamos os algarismos indo arbicos para representar os
numerais; quando maior, devemos utilizar outros smbolos, geralmente letras do
alfabeto latino.
Graas a um teorema matemtico, sabemos que cada nmero Natural possui uma
representao nica em uma base qualquer. Este teorema pode ser enunciado como:
"Seja b um nmero Natural com b 2. Ento, para todo a Natural diferente de 0,
existem e so nicos nmeros Naturais c
0
, c
1
, c
2
, , c
n
tais que a = c
n
b
n
+ c
n- 1
b
n- 1
+ +
c
1
b + c
0
para os ndices de c menores do que b e o ltimo diferente de 0".
Esta expresso, acima, chama-se de "expanso de a na base b" e tambm pode ser
descrita como a = ( c
n
c
n- 1
. . . c
1
c
0
)
b
.
Com isso, a expanso do nmero 524 na base decimal 5 . 10
2
+ 2 . 10 + 4.
Perceba que o nmero que multiplica cada algarismo a base numrica elevada a um
expoente que corresponde posio do numeral menos 1 e o ltimo algarismo est, na
verdade, sendo multiplicado pela base elevada a 0.
Convertendo de uma base qualquer para a base 10
Com o que vimos anteriormente, para convertermos um nmero que est em uma base
qualquer para a base decimal simplesmente devemos escrever e calcular a expanso
deste nmero na base dada.
Por exemplo, vamos calcular quanto vale ( 52024)
7
na base 10:
( 52024)
7
= 5. 7
4
+ 2 . 7
3
+ 0 . 7
2
+ 2 . 7 + 4 = ( 12709)
10

Portanto, a representao de 52024 na base 7 12709 na base 10.
Convertendo da base 10 para uma base qualquer
Para convertermos um nmero que esteja na base decimal para outra base b, devemos
encontrar uma expresso da forma a = c
n
b
n
+ c
n- 1
b
n- 1
+ + c
1
b + c
0
para o mesmo.
Como exemplo, vamos escrever o nmero 139 na base 3. Para isso, precisamos
encontrar para ele uma expresso do tipo 139 = a
n
3
n
+ a
n- 1
3
n- 1
+ + a
1
3+ a
0
.
Ao utilizarmos a propriedade distributiva da multiplicao, temos que
139 = 3 . ( a
n
3
n- 1
+
. . .
+ a
1
) + a
0

Desta forma, conclumos que a
0
, na verdade, o resto da diviso de 139 por 3. Se
realizarmos tal diviso, teremos que 139 = 46 . 3 + 1, ou seja, a
0
igual a 1. Com
isso, 46 . 3 = 139 - 1. Mas ns sabemos que 139 = 3 . ( a
n
3
n- 1
+
. . .
+ a
1
) + a
0
=
3 . ( a
n
3
n- 1
+
. . .
+ a
1
) + 1 . Temos, ento, que 139 = 3 . ( a
n
3
n- 1
+
. . .
+ a
1
) , ou
seja, eliminamos o termo independente. Vamos repetir essa operao at eliminarmos
todos os a's e, ento, teremos que:
139 = 46 . 3 + 1
46 = 15 . 3 + 1
15 = 5 . 3 + 0
5 = 1 . 3 + 2
Agora, vamos fazer uma srie de substituies:
139 = 46 . 3 + 1 = ( 15 . 3 + 1) . 3 + 1 = 15 . 3
2
+ 1 . 3 + 1 = 5
. 3
3
+ 1 . 3 + 1 = ( 1 . 3 + 2) . 3
3
+ 1 . 3 + 1 = 1 . 3
4
+ 2 . 3
3
+
0 . 3
2
. 1 . 3 + 1
Assim, conclumos que a expanso de 139 na base 3 ( 12011)
3
. Note quem apesar de
esta ser a explicao matematicamente correta, muitos cursos tcnicos preferem
simplificar o processo simplesmente dizendo que, para converter um nmero na base
decimal para outra base devemos realizar sucessivas divises euclidianas do nmero
pelo algarismo que representa a base at que o divisor seja igual a 0 e pegarmos os
restos de baixo para cima. Este procedimento, muito mais simples, est correto e
justificado pelo exemplo anterior.
Sistemas de numerao utilizados na Informtica
Os sistemas de numerao mais utilizados na informtica so:
Base 2: tambm conhecido como sistema binrio. um sistema posicional composto
pelos numerais 0 e 1 e, alm da Informtica, utilizado na Eletrnica Digital na
implementao de circuitos de portas lgicas. Uma de suas primeiras aplicaes na
informtica surgiu quando da utilizao de cartes perfurados para representar
informaes e programas.
Base 8: o sistema octal tambm um sistema posicional e foi utilizado na Informtica
como alternativa ao sistema binrio. composto pelos numerais 0, 1, 2, 3, 4, 5, 6 e 7.
Base 16: o sistema hexadecimal , talvez, um dos mais conhecidos da atualidade.
composto de 16 algarismos, representados por 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F.
Trabalha-se com ele como qualquer outro sistema, mas deve-se prestar ateno ao valor
dos caracteres alfabtico na hora de fazer operaes e converses. atualmente a maior
alternativa ao sistema binrio por ser extremamente compacto e utilizado para
representar portas, interrupes e endereos de memria, alm de cores no
desenvolvimento web, em substituio ao sistema RGB. Para representar as cores,
utilizada uma notao de seis dgitos, onde cada dupla, da esquerda para a direita,
representa o valor da intensidade do vermelho, do verde e do azul, respectivamente,
variando de 00 at FF, que representa o valor decimal 255. Assim, as cores variam de
000000, que representa o preto, at FFFFFF, que corresponde ao branco. Os tons de
cinza so representados por valores iguais nas trs posies, como por exemplo 666666,
DEDEDE ou CCCCCC. Quanto mais prximo de FFFFFF, mais clara a tonalidade de cinza.
Ao todo, essa notao hexadecimal permite a representao de mais de 16 milhes e
meio de cores. Alguns programas de desenho vetorial e de tratamento de imagem
incluem, ainda, uma quarta dupla de valores na notao para representar o nvel de
transparncia da cor selecionada. Graas base hexadecimal, as rotinas de tratamento
de imagem foram em muito facilitadas, Por exemplo: para fazer o efeito de negativo em
uma foto, isto , inverter suas cores, basta subtrair de FF cada valor da tripla que
representa a cor de cada pixel.
Base 62: Talvez voc nunca tenha ouvido falar deste sistema, mas acredite: voc j o
utilizou. O sistema de base 62 est se tornando cada vez mais popular porque seus 62
algarismos so representados pelos numerais de 0 a 9 e pelas letras de A a Z e de a a z.
Uma de suas aplicaes mais recorrentes est nos famosos encurtadores de URL: o
cdigo gerado pelo encurtador nada mais do que a converso de um nmero decimal -
geralmente o nmero de identificao nico para cada URL no banco de dados - nesta
base. Assim, quanto mais caracteres um encurtador de URLs utilizar para gerar sua
URL curta, mais URLs ele ter cadastradas.
Base 64: um sistema numrico utilizado para codificao de dados binrios que
precisam ser armazenados e transferidos em meios que foram desenhados originalmente
para lidar com dados textuais. composto pelos algarismos de 0 a 9, pelas letras de A a
Z e de a a z e pelos smbolos / e +. O caractere = utilizado como sufixo especial.
O sistema de numerao Binrio
Apesar das tentativas de utilizar-se outros sistemas de numerao mais compactos para
substituir o sistema binrio, este que forma a "linguagem" dos computadores. Tudo,
desde nmeros, cores, palavras, textos e imagens tratado pelo sistema operacional
nesta base de numerao. No exemplo mais simples, se voc fizer uma soma na
calculadora de seu sistema operacional, ele ir converter os valores para sua
representao base 2, realizar a operao e converter, novamente, o resultado para a
base decimal.
Para convertermos um nmero em base 2 para a base 10, basta fazermos o que j foi
explicado, com a vantagem de que, como os algarismos so apenas 0 e 1, poderemos ter
a oportunidade de cancelar vrias potncias.
Por exemplo: vamos converter o nmero binrio 1010 para a base decimal. Escrevendo
a expanso do nmero na base 2, temos:
1010 = 1 . 2
3
+ 0. 2
2
+ 1 . 2 + 0 = 2
3
+ 2 = 8 + 2 = 10
J o procedimento contrrio pode ser feito pelo algoritmo explicado anteriormente ou,
de maneira mais simples, pelo "truque" de realizar divises sucessivas por 2 e pegar os
restos de baixo para cima:
10 = 5 . 2 + 0
5 = 2 . 2 + 1
2 = 1 . 2 + 0
1 = 0 . 2 + 1
Desta forma, 10 em base 2 se escreve como 1010.
Agora, o que devemos fazer se desejarmos converter um nmero que esteja na base 2
para a forma octal ou hexadecimal? Evidentemente, uma maneira seria converter o
nmero em base 2 para a base 10 e fazer a outra converso, mas isso demoraria muito
tempo. Assim, utilizamos um dispositivo mais prtico: como a base octal possui 2
3

dgitos, basta agruparmos os algarismos do nmero em base 2 em grupos de trs,
completando com zeros, caso necessrio, e convertendo estes grupos para sua forma
decimal. O mesmo procedimento pode ser utilizado para a base hexadecimal, com a
diferena de que devemos agrup-los em grupos de 4 e cuidar o valor correspondente s
letras. Por exemplo, para convertermos 11101111 para a base octal, temos que separ-lo
em grupos de trs algarismos: 011 101 111. Agora, basta realizar a converso e termos
3 5 7. 357 a representao do nmero em base 8.
A adio de dois valores na base dois realizada por transporte, da mesma forma do
que a adio na base 10. Escrevemos os nmeros um abaixo do outro e somamos por
colunas da direita para a esquerda. Notemos que h quatro possibilidades:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
Perceba que na ltima possibilidade, o resultado maior do que a quantidade mxima
de algarismos que podem ser armazenados em cada posio e, neste caso, h o
transporte, ou popular "vai um".
A subtrao ocorre de forma anloga, apenas com a diferena de que:
0 - 0 = 0
0 - 1 = 1
1 - 0 = 1
1 - 1 = 0
No segundo caso, o resultado ser 1, mas ocorrer um transporte para a prxima coluna,
que ser acumulado no subtraendo.
Logo no comeo de sua utilizao na informtica, surgiram algumas questes
conceituais sobre o sistema binrio. Uma das principais era a de como fazer um
computador representar nmeros negativos. Para tal, reservamos o bit mais significativo
de um byte para o sinal, ou seja, o primeiro. Ele ser 0 caso o nmero positivo e 1 caso
negativo e usamos o complemento para 1 ou o complemento para 2. O primeiro consiste
em simplesmente inverter zeros e uns: o que zero vira um e vice-versa. O sinal dado
pelo bit mais significativo. Por exemplo: 3 em base 2 11. Representamos-lhe por 011.
Para representarmos - 3, simplesmente invertemos os bits e temos 100. J no
complemento para 2, invertemos os bits 0 e 1 e somamos 1 ao resultado. A vantagem de
utilizar-se o complemento para dois que ele possui um zero nico e preserva as regras
de adio e de subtrao.
Outro ponto polmico diz respeito representao de nmeros com vrgula. A questo
apenas foi resolvida com o lanamento da norma IEEE 754, publicada originalmente
em 1985 e revisada em 2008. A norma original dita que os nmeros reais - conhecidos
por nmeros de ponto flutuante no meio informtico - devem ser armazenados em
sequncias de 32 bits (a reviso de 2008 adicionou a representao de 64-bit para
preciso dupla), onde o bit mais significativo reservado ao sinal - 0 se positivo e 1 se
negativo -; os oito bits seguintes so reservados ao expoente e os 23 bits restantes so
reservados parte fracionria. O expoente em questo corresponde a 127 mais o
expoente de base 2 do nmero em questo.
O sistema binrio e a eletrnica digital
Enquanto a eletrnica digital trabalha apenas com dois valores possveis de amplitude, a
analgica admite que a amplitude de um sinal pode assumir qualquer valor entre um
mnimo e um mximo dados atravs do tempo. O valor 1 representa o valor mais alto de
amplitude, logicamente assumido como verdadeiro e o 0, o mais baixo, correspondente
ao lgico falso. um grande equvoco, portanto, acreditar que o 0 representa a ausncia
completa de energia Complemente o 1 a presena de energia.
Os circuitos integrados digitais mais utilizados atualmente podem ser de dois tipos:
TTL e CMOS. Os circuitos TTL (Transistor-Transistor Logic) so comercializadas em
duas sries de modelos: aqueles que comeam com 54 so destinados ao uso militar e os
que comeam com 74 utilizao comercial. Nesta famlia de circuitos lgicos, o sinal
de entrada pode variar em uma amplitude que vai de 0V a 5V. Quando o sinal est entre
0V e 0,8V, o circuito o interpreta como sendo o nvel mais baixo de amplitude, isto , o
0 binrio. J quando o sinal recebido est entre 2V e 5V, este interpretado como sendo
o nvel alto 1. As tenses entre 0,8V e 2V no so reconhecidas pelo circuito e deve-se,
portanto, evitar seu uso em circuitos digitais. J na famlia CMOS (Complementary
Metal Oxid Semiconductor), tenses que estejam entre 0V e 1,5V so interpretadas
como o baixo nvel de energia, ou o Falso lgico. J as tenses de 3,5V a 5V so
reconhecidas como o nvel alto ou 1. As tenses intermedirias no so reconhecidas.
Assim, cai por terra o mito de que o 0 binrio representa a ausncia completa de
energia: o zero, na verdade, representa o nvel lgico correspondente ao falso. Isso no
significa, necessariamente, que haja ausncia de energia.
Portas lgicas so circuitos digitais que recebem uma ou mais tenses de entrada e
devolvem apenas uma tenso de sada. Atravs da associao dessas portas, podemos
construir circuitos capazes de realizar operaes aritmticas simples, utilizando como
base a lgebra booleana. Essas portas lgicas so constitudas por transistores que atuam
como chaves ao receber um sinal eltrico, permitindo ou no sua passagem. Hoje,
porm, existem circuitos integrados que j desempenham este papel. desnecessrio
dizer que elas tambm esto presentes em processadores, em escala muito reduzida. As
principais portas lgicas disponveis hoje, com exemplos entre parntesis, so:
NOT (TTL 7404) - tambm conhecida como inversora. Caso receba um nvel
lgico 1, devolver 0 e caso receba um nvel lgico 0, devolver 1;
AND (TTL 7421 / CMOS 4081) - Possui duas entradas e uma sada. Retorna 1
apenas se receber o nvel lgico 1 em ambas as entradas;
OR (TTL 7432 / CMOS 4075) - Tambm possui duas entradas e uma sada,
mas devolve 1 se pelo menos uma das entradas informar o nvel lgico 1.
NAND (TTL 7400 / CMOS 4011) - Equivale a uma porta AND seguida de uma
porta NOT. Retorna 0 se receber o nvel lgico 1 em ambas as entradas e 1 nos
demais casos;
NOR (TTL 7402 / CMOS 4001) - Equivale porta OR seguida de NOT. Retorna
1 apenas se as duas entradas informarem o nvel lgico 0;
XOR (TTL 7486 / CMOS 4070) - A porta Ou Exclusivo retornar o nvel
lgico 1 se e somente se apenas uma das entradas for igual a 1 e a outra igual a
0.
Embora seja possvel combinar livremente as portas lgicas, as empresas buscam
economizar recursos quando de sua utilizao em projetos eletrnicos calculando
circuitos equivalentes, isto , circuitos que produziro o resultado esperado com um
menor nmero de portas. Para isso, os engenheiros utilizam o Teorema de Morgan ou o
Mapa de Karnaugh.
Concluso
Os sistemas de numerao transcenderam o mbito matemtico e so utilizados de
vrias formas na Informtica e na Eletrnica.

You might also like