Você está na página 1de 5

Convers ao entre bases num ericas

Prof. Daniel Corr ea LOBATO Revis ao: novembro, 2004

Resumo Toda a informa c ao armazenada em um dispositivo computacional deve estar representada em base bin aria. Isso signica que o computador e incapaz de efetuar 10(10) +5(10) . Entretanto, se os mesmos dados estiverem armazenados em base bin aria, a opera c ao 1010(2) + 101(2) se torna trivial, e resposta 1111(2) ui como m agica. Neste m odulo vamos discutir convers ao entre as bases num ericas 2, 8, 10 e 16 e, no m odulo seguinte, as opera c oes aritm eticas elementares nessas bases.

Objetivos
Apresentar as bases num ericas 2, 8, 10 e 16 Apresentar os algoritmos de convers ao entre as bases

Representa c ao da informa c ao

Os n umeros decimais, que estamos habituados a usar, usa um sistema de numera c ao posicional; ou seja, a posi c ao ocupada por cada algarismo em um n umero altera seu valor em pot encia de 10 (na base 10) para cada casa ` a esquerda. Assim, o n umero 423 na base 10 pode ser decomposto na forma representada na tabela 1. centena 102 4 4 102 dezena 101 2 2 101 unidade 100 3 3 100

algarismo valor

400 + 20 + 3 = 423

Tabela 1: Representa c ao do n umero 423 em base 10 A base de um sistema de numera c ao e a quantidade de algarismos que podem ser usados na representa c ao dos n umeros. A base 10, usada por n os humanos, tem dez algarismos, de 0 a 9. Entretanto, ela n ao eau nica: n os compramos um cento de laranjas (base 100), marcamos o tempo usando minutos e segundos (base 60), e compramos uma d uzia de ovos (base 12). Os computadores usam base 2 (bin ario), e os programadores, por conveni encia, usam 4 3 uma base pot encia de 2, como 2 (base 16) ou base 2 (base 8). Uma base b qualquer dispor a de b algarismos, variando entre 0 e (b 1).
Material desenvolvido para o segundo bimestre da disciplina Computa c ao e Automa c ao de Sistemas do curso de Ci encia da Computa c ao das Faculdades COC

Intuitivamente, sabemos que o maior n umero que podemos representar, com n algarismos, na base b, ser a o n umero composto n vezes pelo maior algarismo dispon vel naquela base (ou seja, b 1). Por exemplo, o maior n umero que pode ser representado na base 10 usando 3 algarismos ser a 999 (ou seja, 103 1 = 999). Generalizando, podemos ver que o maior n umero inteiro N que pode ser representado, em uma dada base b, com n algarismos (n casas), ser a N = bn 1. Assim, o maior n umero de 2 algarismos na base 16 ser a F F(16) que, na base 10, equivale a 255(10) = 162 1.

2.1

Representa c ao bin aria

Os computadores modernos usam, hoje, apenas o sistema bin ario (veja tabela 2. Isto signica que tudo o que e armazenado em um computador o e usando, apenas, duas grandezas: 0 e 1. Havendo apenas dois algarismos, portanto d gitos bin arios, o elemento m nimo de informa c ao nos computadores foi apelidado de bit (uma contra c ao do ingl es binary digit ). Representa c ao bin aria 1 10 100 1000 10000 100000 1000000 10000000 100000000 1000000000 10000000000 Pot encia 20 21 22 23 24 25 26 27 28 29 210 Representa c ao decimal 1 2 4 8 16 32 64 128 256 512 1024

Tabela 2: Pot encias de dois Um n umero representado em bin ario apresenta muitos bits. Com muitos bits, a chance de o programador ou usu ario digitar um incorreto e maior. Para facilitar a visualiza c ao e manipula c ao das grandezas processadas em computadores s ao usualmente adotadas as representa c oes octal (base 8) e principalmente hexadecimal (base 16). Essa representa c ao e apenas para n os, humanos mortais: os computadores trabalham muito bem, obrigado, na base 2.

2.2

Representa c ao em octal e hexadecimal

N os, humanos, tendemos a representar as quantidades usando sistemas de numera c ao pot encia de dois, com o objetivo de reduzir o n umero de algarismos do n umero que desejamos manipular. As duas bases mais usadas s ao a octal (base 8) e a hexadecimal (base 16). No sistema octal (base 8), cada tr es bits s ao representados por apenas um algarismo octal (de 0 a 7). No sistema hexadecimal (base 16), cada quatro bits s ao representados por apenas um algarismo hexadecimal (de 0 a F). Veja a rela c ao entre os valores nas diferentes bases na tabela 3.

Base 2 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Base 8 0000 0001 0002 0003 0004 0005 0006 0007 0010 0011 0012 0013 0014 0015 0016 0017

Base 10 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015

Base 16 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F

Tabela 3: Correspond encia entre as bases 2, 8, 10 e 16

Convers ao entre bases

Estando diante do n umero 101101011(2) , como saber qual o correspondente em base 10 ou base 161 ? Quando a convers ao e entre bases que s ao pot encia entre si, ca f acil

3.1

Convers ao entre bases 2, 8 e 16

Vamos exemplicar com a convers ao entre a base 2 e a base 8. Como 23 = 8, se separarmos os bits de um n umero bin ario em grupos de tr es bits (come cando sempre da direita para a esquerda!) e convertermos cada grupo de tr es bits para seu equivalente em octal, teremos a representa c ao do n umero em octal. Por exemplo: 10111100011(2) 010 111 100 011(2) 2 7 4 3(8) Assim, 10111100011(2) e o mesmo que 2743(8) . Para converter para a base 16 (24 = 16), o processo e o mesmo, s o que agora os bits s ao agrupados de quatro em quatro. Veja: 10111100011(2) 0101 1110 0011(2) 5 E 3(16) E para converter entre as bases 16 e 8? O mais f acil e converter da base 16 para a base 2 (um algarismo por vez) e, depois, agrupar de tr es em tr es bits e, por m, converter para os algarismos octais. Veja o exemplo:
1

S o por curiosidade: 363(10) e 16B(16)

5 E 3(16) 0101 1110 0011(2) 10111100011(2) 010 111 100 011(2) 2 7 4 3(8)

3.2

Convers ao entre base b e base 10

Um n umero, em base b, qualquer b, pode ser representado na forma N = an bn + . . . + a2 b2 + a1 b1 + a0 b0 . Com base nessa informa c ao voc e pode converter n umeros em uma base b qualquer para n umeros em base 10. Basta seguir o seguinte exemplo: 101101(2) = 1 25 + 0 24 + 1 23 + 1 22 + 0 21 + 1 20 = 32 + 0 + 8 + 4 + 0 + 1 = 45(10) E isso vale para qualquer base mesmo. Veja: 4F 5(16) = 4 162 + 15 161 + 5 160 = 4 256 + 15 16 + 5 = 1024 + 240 + 5 = 1269(10)

3.3

Convers ao entre base 10 e base b

O n umero decimal ser a dividido sucessivas vezes pela base b; o resto de cada divis ao ocupar a sucessivamente as posi c oes de ordem 0, 1, 2 e assim por diante at e que o resto da u ltima divis ao (que resulta em q uociente zero) ocupe a posi c ao de mais alta ordem. Se voc e, eventualmente, continuar a dividir o q uociente zero pela base b, vai apenas obter zeros de ordem mais alta, o que n ao mudar a o n umero resultante na base b, pois ser ao zeros ` a esquerda. Veja o exemplo da convers ao do n umero 19(10) para a base 2. a0 = 19 1 a1 = 2 9 1 a2 = 2 4 0 a3 =

2 2 0 a4 =

2 1 1 a5 =

2 0 0

2 0

...

Assim, 19(10) = 10011(2) . De fato, pois 10011(2) = 1 24 + 0 23 + 0 22 + 1 21 + 1 20 = 16 + 0 + 0 + 2 + 1 = 19(10) 4

Exerc cios

Efetue as seguintes convers oes de base, da base indicada para as demais (2, 8, 10 e 16) 11010101(2) 638(10) 77110(8) BACABA(16) CA1C 0(16) 100111010110(2) 615243(8) 11010101(10)

Você também pode gostar