Você está na página 1de 7

21/3/2014

OBS

OBS: Este material foi 100% copiado de http://chuibrz.homestead.com/EDigital.html

SISTEMAS DE NUMERAO
Desde quando se comeou a registrar informaes sobre quantidades, foram criados diversos mtodos de representar as quantidades. O mtodo ao qual estamos acostumados usa um sistema de numerao posicional. Isso significa que a posio ocupada por cada algarismo em um nmero altera seu valor de uma potncia de 10 (na base 10) para cada casa esquerda. Por exemplo, no sistema decimal (base 10), no nmero 125 o algarismo 1 representa 100 (uma centena ou 102) , o 2 representa 20 (duas dezenas ou 2x101) e o 5 representa 5 mesmo (5 unidades ou 5x100). Assim, em nossa notao, 125 = 1x102 + 2x101 + 5x100 Base de um Sistema de Numerao A base de um sistema a quantidade de algarismos disponvel na representao. A base 10 hoje a mais usualmente empregada, embora no seja a nica utilizada. Os computadores utilizam a base 2 (sistema binrio) e os programadores, por facilidade, usam em geral uma base que seja uma potncia de 2, tal como 24 (base 16 ou sistema hexadecimal) ou eventualmente ainda 23 (base 8 ou sistema octal). Na base 10, dispomos de 10 algarismos para a representao do nmero: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Na base 2, seriam apenas 2 algarismos: 0 e 1. Na base 16, seriam 16: os 10 algarismos aos quais estamos acostumados, mais os smbolos A, B, C, D, E e F, representando respectivamente 10, 11, 12, 13, 14 e 15 unidades. Generalizando, temos que uma base b qualquer constituda de b algarismos, variando entre 0 e (b-1). Generalizando, representamos uma quantidade N qualquer, numa dada base b, com um nmero tal como segue: Nb = an.bn + .... + a2.b2 + a1.b1 + a0.b0 + a-1.b-1 + a-2.b-2 + .... + a-n.b-n sendo que an.bn + .... + a2.b2 + a1.b1 + a0.b0 a parte inteira e a-1.b-1 + a-2.b-2 + .... + a-n.b-n a parte fracionria. Intuitivamente, sabemos que o maior nmero que podemos representar, com n algarismos, na base b, ser o nmero composto n vezes pelo maior algarismo disponvel naquela base (ou seja, b-1). Por exemplo, o maior nmero que pode ser representado na base 10 usando 3 algarismos ser 999 (ou seja, 103 - 1 = 999). Generalizando, podemos ver que o maior nmero inteiro N que pode ser representado, em uma dada base b, com n algarismos (n "casas"), ser N = bn - 1. Assim, o maior nmero de 2 algarismos na base 16 ser FF16 que, na base 10, equivale a 25510 = 162 - 1. Representao Binria
http://www.inf.ufrgs.br/~roesler/disciplinas/Info1040/01_basico/sistnum.htm 1/7

21/3/2014

OBS

Os computadores modernos utilizam apenas o sistema binrio, isto , todas as informaes armazenadas ou processadas no computador usam apenas duas grandezas, representadas pelos algarismos 0 e 1. Essa deciso de projeto deve-se maior facilidade de representao interna no computador, que obtida atravs de dois diferentes nveis de tenso. Havendo apenas dois algarismos, portanto dgitos binrios, o elemento mnimo de informao nos computadores chamado de bit ( binary digit ). Na base 2, o nmero "10" vale dois. Mas se 102 = 210, ento dez igual a dois? NO, dez no e nunca ser igual a dois! Na realidade, "10" no significa necessariamente "dez". Ns estamos acostumados a associar "10" a "dez" porque estamos acostumados a usar o sistema de numerao decimal. O nmero 102 seria lido "um-zero" na base 2 e vale 210 (convertido para "dois" na base dez), 105 seria lido "um-zero" na base 5 e vale 510 (convertido para "cinco" na base dez), 1010 pode ser lido como "um-zero" na base 10 ou ento como "dez" na base dez, 1016 seria lido "um-zero" na base 16 e vale 1610 (convertido para "dezesseis" na base dez), etc. Portanto, 10 s ser igual a dez se - e somente se - o nmero estiver representado na base dez! OBS.: Toda vez que um nmero for apresentado sem que seja indicado em qual sistema de numerao ele est representado, a base numrica utilizada decimal. Sempre que outra base for utilizada, a base ser obrigatoriamente indicada.

Repr.Binria 1 10 100 1000 10000 100000 1000000 10000000 100000000

Potncia 20 21 22 23 24 25 26 27 28

Repr.Decimal 1 2 4 8 16 32 64 128 256 512 1.024

1000000000 29 10000000000 210

A representao binria perfeitamente adequada para utilizao pelos computadores No entanto, um nmero representado em binrio pode apresentar muitos bits, ficando longo e passvel de erros quando manipulado por seres humanos normais como por exemplo os programadores, analistas e engenheiros de sistemas. Para facilitar a visualizao e manipulao dos dados e instrues processados em computadores, usualmente adotada a representao hexadecimal (base 16). Ressaltamos mais uma vez que o computador
http://www.inf.ufrgs.br/~roesler/disciplinas/Info1040/01_basico/sistnum.htm 2/7

21/3/2014

OBS

opera apenas na base 2 e a representao hexadecimal no usada no computador, ela se destina apenas manipulao de grandezas pelos programadores.

Representao em Octal e em Hexadecimal Para reduzir o nmero de algarismos da representao e conseqentemente facilitar a compreenso da grandeza e evitar erros temos o sistema octal (base 8),onde cada trs bits so representados por apenas um algarismo octal (de 0 a 7), e o sistema hexadecimal (base 16),onde cada quatro bits so representados por apenas um algarismo hexadecimal (de 0 a F ). A seguir, apresentamos uma tabela com os nmeros em decimal e sua representao correspondente em binrio, octal e hexadecimal: Base 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Base 2 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 Base 8 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 Base 16 0 1 2 3 4 5 6 7 8 9 A B C D E F

Nota: a base 16 ou sistema hexadecimal pode ser indicada tambm por um "H" ou "h" aps o nmero; por exemplo: FFH significa que o nmero FF est em hexadecimal. No confundir o "H" ou "h" com mais um dgito, mesmo porque em hexadecimal s temos algarismos at "F".

Converses entre Bases


Vamos analisar agora as regras gerais para converter nmeros entre duas bases quaisquer. Converses entre as bases 2, 8 e 16
http://www.inf.ufrgs.br/~roesler/disciplinas/Info1040/01_basico/sistnum.htm 3/7

21/3/2014

OBS

As converses mais simples so as que envolvem bases que so potncias entre si. Vamos exemplificar com a converso entre a base 2 e a base 8. Como 23 = 8, separando os bits de um nmero binrio em grupos de tres bits (comeando sempre da direita para a esquerda!) e convertendo cada grupo de tres bits para seu equivalente em octal, teremos a representao do nmero em octal. Por exemplo: 101010012 = 10 / 101 / 0012 (separando em grupos de 3, sempre comeando da direita para a esquerda) Sabemos que 0102 = 28 ; 1012 = 58 ; 0012 = 18 portanto 101010012 = 2518 Se voc ainda no sabe de cor, faa a converso utilizando a regra geral. Vamos agora exemplificar com uma converso entre as bases 2 e 16. Como 24 = 16, basta separarmos em grupos de 4 bits (comeando sempre da direita para a esquerda!) e converter. Por exemplo: 11001010111111102 = 1100 / 1010 / 1111 / 11102 (separando em grupos de 4 bits, sempre comeando da direita para a esquerda) Sabemos que 11002 = C16; 10102 = A16 ; 11112 = F16 ; 11102 = E16 portanto 11001010111111102 = CAFE16 Vamos agora exercitar a converso inversa. Quanto seria 3F5H (lembrar que o H est designando "hexadecimal") em octal? O mtodo mais prtico seria converter para binrio e em seguida para octal. 3F5H = 11 / 1111 / 01012 (convertendo cada dgito hexadecimal em 4 dgitos binrios) = = 1 / 111 / 110 / 1012 (agrupando de tres em tres bits) = = 17658 (convertendo cada grupo de tres bits para seu valor equivalente em octal). Converso de Nmeros em uma base b qualquer para a base 10 Vamos lembrar a expresso geral j apresentada: Nb = an.bn + .... + a2.b2 + a1.b1 + a0.b0 + a-1.b-1 + a-2.b-2 + .... + a-n.b-n A melhor forma de fazer a converso usando essa expresso. Tomando como exemplo o nmero 1011012, vamos calcular seu valor representado na base dez. Usando a expresso acima, fazemos: 1011012 = 1x25 + 0x24 + 1x23 + 1x22 + 0x21 + 1x20 = 32 + 0 + 8 + 4 + 0 + 1 = 4510 Podemos fazer a converso de nmeros em qualquer base para a base 10 usando o algoritmo acima. Exemplos: a) Converter 4F5H para a base 10 . Soluo: Lembramos que o H significa que a representao hexadecimal (base 16). Sabemos ainda que F16=1510. Ento: 4x162 + 15x161 + 5x160 = 4x256 + 15x16 + 5 = 1024 + 240 + 5 = 126910 b) Converter 34859 para a base 10. Soluo: 3x93 + 4x92 + 8x91 + 5x90 = 3x729 + 4x81 + 8x9 + 5 = 2187 + 324 + 72 + 5 = 258810. c) Converter 1001,012 para a base 10. Soluo: 1x23 + 0x22 + 0x21 + 1x20 + 0x2-1 + 1x2-2 = 8 + 0 + 0 + 1 + 0 + 0,25 = 9,2510 d) Converter 34,35 para a base 10.
http://www.inf.ufrgs.br/~roesler/disciplinas/Info1040/01_basico/sistnum.htm 4/7

21/3/2014

OBS

Soluo: 3x51 + 4x50 + 3x5-1 = 15 + 4 + 0,6 = 19,610 e) Converter 38,38 para a base 10. Soluo: Uma base b dispe dos algarismos entre 0 e (b-1). Assim, a base 8 dispe dos algarismos 0 a 7 e portanto o algarismo 8 no existe nessa base. A representao 38,3 no existe na base 8. Converso de Nmeros da Base 10 para uma Base b qualquer A converso de nmeros da base dez para uma base qualquer emprega algoritmos que sero o inverso dos acima apresentados. Os algoritmos sero melhor entendidos pelo exemplo que por uma descrio formal. Vamos a seguir apresentar os algoritmos para a parte inteira e para a parte fracionria: Parte Inteira: O nmero decimal ser dividido sucessivas vezes pela base; o resto de cada diviso ocupar sucessivamente as posies de ordem 0, 1, 2 e assim por diante at que o resto da ltima diviso (que resulta em quociente zero) ocupe a posio de mais alta ordem. Veja o exemplo da converso do nmero 1910 para a base 2:

Experimente fazer a converso contrria (retornar para a base 10) e ver se o resultado est correto. Parte Fracionria Se o nmero for fracionrio, a converso se far em duas etapas distintas: primeiro a parte inteira e depois a parte fracionria. Os algoritmos de converso so diferentes. O algoritmo para a parte fracionria consiste de uma srie de multiplicaes sucessivas do nmero fracionrio a ser convertido pela base; a parte inteira do resultado da primeira multiplicao ser o valor da primeira casa fracionria e a parte fracionria ser de novo multiplicada pela base; e assim por diante, at o resultado dar zero ou at encontrarmos o nmero de casas decimais desejado. Por exemplo, vamos converter 15,6510 para a base 2, com 5 e com 10 algarismos fracionrios:

http://www.inf.ufrgs.br/~roesler/disciplinas/Info1040/01_basico/sistnum.htm

5/7

21/3/2014

OBS

Obs.: Em ambos os casos, a converso foi interrompida quando encontramos o nmero de algarismos fracionrios solicitadas no enunciado. No entanto, como no encontramos resultado 0 em nenhuma das multiplicaes, poderamos continuar efetuando multiplicaes indefinidamente at encontrar (se encontrarmos) resultado zero. No caso de interrupo por chegarmos ao nmero de dgitos especificado sem encontramos resultado zero, o resultado encontrado aproximado e essa aproximao ser funo do nmero de algarismos que calcularmos. Fazendo a converso inversa, encontraremos: Com 5 algarismos fracionrios: Parte inteira: 11112 = 1510 Parte fracionria: 0,101002 = 1x2-1 + 0x2-2 + 1x2-3 + 0x2-4 + 0x2-5 = 0,5 + 0,125 = 0,62510 Com 10 algarismos fracionrios: Parte inteira: 11112 = 1510 Parte fracionria: 0,10100110012 = 1x2-1 + 0x2-2 + 1x2-3 + 0x2-4 + 0x2-5 + 1x2-6 + 1x2-7 + 0x2-8 + 0x2-9 + 1x2-10 = 1/2 + 1/8 + 1/64 + 1/128 + 1/1024 = 0,5 + 0,125 + 0,015625 + 0,0078125 + 0,0009765625 = 0,649414062510 Ou seja, podemos verificar (sem nenhuma surpresa) que, quanto maior nmero de algarismos forem considerados, melhor ser a aproximao. Converso de Nmeros entre duas Bases quaisquer Para converter nmeros de uma base b para uma outra base b' quaisquer (isso , que no sejam os casos particulares anteriormente estudados), o processo prtico utilizado converter da base b dada para a base 10 e depois da base 10 para a base b' pedida. Exemplo: Converter 435 para ( )9. 435 = (4 x 5 + 3)10 = 2310 ==> 23/9 = 2 (resto 5) logo 435 = 2310 = 259

Exerccios 1. Express the following decimal numbers as binary numbers a) (129)10 b) (511)10 c) (1000)10 2. What is the largest decimal number that we can represent with (a) 9, (b) 10, (c) 15 and (d) 16 bits? 3. Convert the following binary digits to hexadecimal notation a) (1010101010)2
http://www.inf.ufrgs.br/~roesler/disciplinas/Info1040/01_basico/sistnum.htm 6/7

21/3/2014

OBS

b) (10000001)2 c) (11111111111)2 d) (100110011001)2 4. Give the binary equivalents of the following hexadecimal numbers a) (1000B0CA)16 b) (FADAB0A)16 c) (BADCA0)16 d) (CADEAD0)16 5. Convert the following numbers from the given base to the bases that are indicated : a) Decimal 11210 to binary, octal and hexadecimal b) Hexadecimal 1AB69C16 to decimal, binary and octal c) Binary 1011011012 to octal, decimal

http://www.inf.ufrgs.br/~roesler/disciplinas/Info1040/01_basico/sistnum.htm

7/7

Você também pode gostar