Sei sulla pagina 1di 7

Introduo

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, tudo conjunto ou coleo que tinha mais do que 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 c0, c1, c2, , cn tais que a = cnbn+ cn-1bn-1+ + c1b + c0 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 = (cncn-1...c1c0)b.

Com isso, a expanso do nmero 524 na base decimal 5 . 102+ 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. 74+ 2 . 73+ 0 . 72+ 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 = cnbn+ cn-1bn-1+ + c1b + c0 para o mesmo. Como exemplo, vamos escrever o nmero 139 na base 3. Para isso, precisamos encontrar para ele uma expresso do tipo 139 = an 3n+ an-13n-1+ + a13+ a0. Ao utilizarmos a propriedade distributiva da multiplicao, temos que 139 = 3 . (an 3n-1+
...+

a1) + a0

Desta forma, conclumos que a0 , na verdade, o resto da diviso de 139 por 3. Se realizarmos tal diviso, teremos que 139 = 46 . 3 + 1, ou seja, a0 igual a 1. Com isso, 46 . 3 = 139 - 1. Mas ns sabemos que 139 = 3 . (an 3n-1+
...+ ...+

a1) + a0= 3 . (an 3n-1+


...+

a1) + 1 . Temos, ento, que 139 = 3 . (an 3n-1+

a1) , 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 . 33 + 1 . 3 + 1 = (1 . 3 + 2) . 33 + 1 . 3 + 1 = 1 . 34 + 2 . 33 + 0 . 32 . 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 . 23 + 0. 22 + 1 . 2 + 0 = 23 + 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 23 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.

Potrebbero piacerti anche