Você está na página 1de 9

E

Sistemas de numerao
Aqui esto apenas nmeros ratificados. William Shakespeare A natureza tem algum tipo de sistema de coordenadas geomtrico-aritmtico, porque a natureza tem todos os tipos de modelos. O que experimentamos de natureza est em modelos, e todos os modelos da natureza so belos. Surpreende-me que o sistema da natureza tenha tal beleza, uma vez que em qumica descobrimos que as associaes ocorrem sempre em belos nmeros inteiros no h nenhuma frao. Richard Buckminster Fuller

OBJETIVOS
Neste captulo, voc aprender:
n n n n n n

Entender conceitos bsicos de sistemas de numerao como base, valor posicional e valor de smbolo. Entender como trabalhar com nmeros representados nos sistemas de numerao binrio, octal e hexadecimal. Abreviar nmeros binrios como nmeros octais ou hexadecimais. Converter nmeros octais e hexadecimais em nmeros binrios. Converter nos dois sentidos entre nmeros decimais e seus equivalentes binrios, octais e hexadecimais. Entender a aritmtica binria e como os nmeros binrios negativos so representados utilizando a notao de complemento de dois.

Apndice E E.1 E.2 E.3 E.4 E.5 E.6

Sistemas de numerao

Sumrio

Introduo Abreviando nmeros binrios como octais e hexadecimais Convertendo nmeros octais e hexadecimais em binrios Convertendo de binrio, octal ou hexadecimal em decimal Convertendo de decimal para octal, binrio ou hexadecimal Nmeros binrios negativos: notao de complemento de dois

Resumo | Terminologia | Exerccios de reviso | Respostas dos exerccios de reviso | Exerccios

E.1

Introduo

Neste apndice, introduzimos os principais sistemas de numerao que os programadores de Java utilizam especialmente quando trabalham em projeto de software que requer ntima interao com hardware no nvel de mquina. Projetos como esse incluem sistemas operacionais, software de rede de computador, compiladores, sistemas de banco de dados e aplicativos que requerem alto desempenho. Quando escrevemos um inteiro como 227 ou 63 em um programa Java, o nmero considerado como estando no sistema de numerao decimal (base 10). Os dgitos no sistema de numerao decimal so 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. O dgito mais baixo 0 e o mais alto, 9 um a menos que a base 10. Internamente, os computadores utilizam o sistema de numerao binrio (base 2). O sistema de numerao binrio tem apenas dois dgitos, 0 e 1. Seu dgito mais baixo 0 e o mais alto 1 um a menos que a base 2. Como veremos, nmeros binrios tendem a ser muito mais longos que seus equivalentes decimais. Programadores que trabalham em linguagens assembly e em linguagens de alto nvel como Java, que permite que programadores alcancem o nvel de mquina, acham desagradvel trabalhar com nmeros binrios. Ento dois outros sistemas de numerao, o octal (base 8) e o hexadecimal (base 16), so populares principalmente porque tornam conveniente abreviar nmeros binrios. No sistema de numerao octal, os dgitos variam de 0 a 7. Uma vez que o sistema de numerao binrio e o octal tm menos dgitos que o decimal, seus dgitos so os mesmos que os correspondentes em decimal. O sistema de numerao hexadecimal apresenta um problema uma vez que requer 16 dgitos um mais baixo, o dgito 0, e um mais alto, o dgito com um valor equivalente ao decimal 15 (um a menos que a base 16). Por conveno, utilizamos as letras A a F para representar os dgitos hexadecimais correspondentes aos valores decimais de 10 a 15. Portanto, em hexadecimal, podemos ter nmeros como 876 consistindo unicamente em dgitos do tipo decimal, nmeros como 8A55F consistindo em dgitos e letras, e nmeros como FFE consistindo unicamente em letras. Ocasionalmente, um nmero hexadecimal forma uma palavra comum como FACE ou FOOD isso pode parecer estranho para programadores acostumados a trabalhar com nmeros. Os dgitos dos sistemas de numerao binrio, octal, decimal e hexadecimal esto resumidos nas figuras E.1 e E.2. Cada um desses sistemas de numerao utiliza notao posicional cada posio na qual um dgito escrito tem um valor posicional diferente. Por exemplo, no nmero decimal 937 (o 9, o 3 e o 7 so referidos como valores de smbolo), dizemos que o 7 escrito na posio das unidades, o 3 escrito na posio das dezenas e o 9 escrito na posio das centenas. Observe que cada uma dessas posies uma potncia da base (base 10) e que essas potncias iniciam em 0 e aumentam por 1 medida que nos movemos para a esquerda no nmero (Figura E.3).
Dgito binrio
0 1

Dgito octal
0 1 2 3 4 5 6 7

Dgito decimal
0 1 2 3 4 5 6 7 8 9

Dgito hexadecimal
0 1 2 3 4 5 6 7 8 9 A B C D E F

(valor decimal de 10) (valor decimal de 11) (valor decimal de 12) (valor decimal de 13) (valor decimal de 14) (valor decimal de 15)

Figura E.1 Os dgitos dos sistemas de numerao binrio, octal decimal e hexadecimal.

E.1 Atributo
Base Dgito mais baixo Dgito mais alto

Introduo Hexadecimal
16 0 F

Binrio
2 0 1

Octal
8 0 7

Decimal
10 0 9

Figura E.2 Comparando os sistemas de numerao binrio, octal, decimal e hexadecimal.

Valores posicionais no sistema de numerao decimal


Dgito decimal Posicione nome Valor posicional Valor posicional como potncia da base (10) 9 centenas 100 2 10 3 dezenas 10 1 10 7 unidades 1 0 10

Figura E.3

Valores posicionais no sistema de numerao decimal.

Para nmeros decimais mais longos, as prximas posies esquerda seriam a dos milhares (10 terceira potncia), a da dezena de milhares (10 quarta potncia), a das centenas de milhares (10 quinta potncia), a dos milhes (10 sexta potncia), a das dezenas de milhes (10 stima potncia) e assim por diante. No nmero binrio 101, o 1 mais direita escrito na posio das unidades, o 0 escrito na posio dos 2s e o 1 mais esquerda escrito na posio dos 4s. Observe que cada posio uma potncia da base (base 2) e que essas potncias iniciam em 0 e aumentam por 1 medida que nos movemos esquerda no nmero (Figura E.4). Portanto, 101 = 22 + 20 = 4 + 1 = 5. Para nmeros binrios mais longos, as prximas posies esquerda seriam a dos 8s (2 elevado a 3), a dos 16s (2 elevado a 4), a dos 32s (2 elevado a 5), a dos 64s (2 elevado a 6) e assim por diante. No nmero octal 425, dizemos que o 5 escrito na posio das unidades, o 2 na posio dos 8s e o 4 na posio dos 64s. Observe que cada uma dessas posies representa uma potncia da base (base 8) e que essas potncias iniciam em 0 e aumentam por 1 quando movemos esquerda no nmero (Figura E.5) Para nmeros octais mais longos, as prximas posies esquerda seriam a dos 512s (8 elevado a 3), a dos 4096s (8 elevado a 4), a dos 32706s (8 elevado a 5) e assim por diante. No nmero hexadecimal 3DA, dizemos que A escrito na posio das unidades, o D na posio dos 16s e o 3 na posio dos 256s. Observe que cada uma dessas posies representa uma potncia da base (base 16) e que essas potncias iniciam em 0 e aumentam por 1 medida que nos movemos esquerda no nmero (Figura E.6) Para nmeros hexadecimais mais longos, as prximas posies esquerda seriam a dos 4096(s) (16 elevado a 3), a dos 64536s (16 elevado a 4) e assim por diante.
Valores posicionais no sistema de numerao binrio
Dgito binrio Posicione nome Valor posicional Valor posicional como potncia da base (2) 1 4s 4 2 2 0 2s 2 1 2 1 unidades 1 0 2

Figura E.4 Valores posicionais no sistema de numerao binrio.

Valores posicionais no sistema de numerao octal


Dgito decimal Posicione nome Valor posicional Valor posicional como potncia da base (8) 4 64s 64 2 8 2 8s 8 1 8 5 unidades 1 0 8

Figura E.5 Valores posicionais no sistema de numerao octal.

Valores posicionais no sistema de numerao hexadecimal


Dgito decimal Posicione nome Valor posicional Valor posicional como potncia da base (16) 3 256s 256 162 D 16s 16 161 A unidades 1 160

Figura E.6 Valores posicionais no sistema de numerao hexadecimal.

Apndice E

Sistemas de numerao

E.2

Abreviando nmeros binrios como octais e hexadecimais

A principal utilizao para nmeros hexadecimal e octal em computao abreviar longas representaes binrias. A Figura E. 7 destaca o fato de que nmeros binrios longos podem ser expressos concisamente em sistemas de numerao com bases mais altas que o sistema de numerao binrio.
Nmero decimal
0 1 2 3 4 5 6 7 8 n0 9 10 11 12 13 14 15 16

Representao binria
0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000

Representaooctal
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20

Representaohexadecimal
0 1 2 3 4 5 6 7 8 9 A B C D E F 10

Figura E.7

Equivalentes decimais, binrios, octais e hexadecimais.

Um relacionamento particularmente importante que tanto o sistema de numerao octal como o hexadecimal tm com o binrio que as bases octal e hexadecimal (8 e 16, respectivamente) so potncias da base do sistema de numerao binrio (base 2). Considere o seguinte nmero binrio de 12 algarismos e seus equivalentes octal e hexadecimal. Veja se voc pode determinar como esse relacionamento torna conveniente a abreviao de nmero binrio em octal ou hexadecimal. A resposta segue os nmeros.
Nmero binrio Equivalente octal 100011010001 4321 Equivalente hexadecimal 8D1

Para ver como o nmero binrio facilmente convertido em octal, divida o nmero binrio de 12 dgitos em grupos de trs bits consecutivos cada e escreva esses grupos sobre os dgitos correspondentes do nmero octal como a seguir
100 4 011 3 010 2 001 1

Observe que o dgito octal que voc escreveu sob cada grupo de bits corresponde precisamente ao equivalente octal desse nmero binrio de 3 dgitos como mostrado na Figura E.7. O mesmo tipo de relacionamento pode ser observado ao converter-se de binrio para hexadecimal. Divida o nmero binrio de 12 algarismos em grupos de quatro bits consecutivos cada e escreva esses grupos sobre os dgitos correspondentes do nmero hexadecimal como a seguir:
1000 8 1101 D 0001 1

Observe que o dgito hexadecimal que voc escreveu sob cada grupo de quatro bits corresponde precisamente ao equivalente de hexadecimal do nmero binrio de 4 algarismos como mostrado na Figura E.7.

E.3

Convertendo nmeros octais e hexadecimais em binrios

Na seo anterior, vimos como converter nmeros binrios em seus equivalentes octal e hexadecimal formando grupos de dgitos binrios e simplesmente reescrevendo-os como seus valores equivalentes de dgito octal ou de dgito hexadecimal. Esse processo pode ser utilizado no sentido inverso para produzir o equivalente binrio de determinado nmero octal ou hexadecimal. Por exemplo, o nmero octal 653 convertido em binrio escrevendo-se o 6 como seu equivalente binrio de 3 dgitos 110, o 5 como seu equivalente binrio de 3 dgitos 101, e o 3 como seu equivalente binrio de 3 dgitos 011 para formar o nmero binrio de 9 dgitos 110101011.

E.4

Convertendo de octal, binrio ou hexadecimal para decimal

O nmero hexadecimal FAD5 convertido em binrio escrevendo-se o F como seu equivalente binrio de 4 dgitos 1111, o A como seu equivalente binrio de 4 dgitos 1010, o D como seu equivalente binrio de 4 dgitos 1101, e o 5 como seu equivalente binrio de 4 dgitos 0101 para formar o nmero de 16 dgitos 1111101011010101.

E.4

Convertendo de octal, binrio ou hexadecimal para decimal

Estamos acostumados a trabalhar em decimal e, portanto, torna-se conveniente converter um nmero octal, binrio ou hexadecimal em decimal para obter um sentido de quanto o nmero realmente vale. Nossos diagramas na Seo E.1 expressam os valores posicionais em decimal. Para converter um nmero em decimal por meio de outra base, multiplique o equivalente decimal de cada dgito por seu valor posicional e some esses produtos. Por exemplo, o nmero binrio 110101 convertido no decimal 53 como mostra a Figura E.8. Para convertermos o octal 7614 no decimal 3980, utilizamos a mesma tcnica, dessa vez usando valores posicionais octais apropriados, como mostra a Figura E.9. Para convertermos hexadecimal AD3B em decimal 44347, utilizamos a mesma tcnica, dessa vez usando valores posicionais hexadecimais apropriados como mostra a Figura E.10.

E.5

Convertendo de decimal para octal, binrio ou hexadecimal

As converses na Seo E.4 seguem-se naturalmente das convenes de notao posicional. A converso de decimal em octal, binrio ou hexadecimal tambm segue essas convenes.
Convertendo um nmero binrio em decimal
Valores posicionais: Valores de smbolo: Produtos: Soma: 32 1 1*32=32 = 32 + 16 + 0 + 16 1 1*16=16 4 + 0s + 1 = 53 8 0 0*8=0 4 1 1*4=4 2 0 0*2=0 1 1 1*1=1

Figura E.8 Convertendo um nmero binrio em decimal.

Convertendo um nmero octal em decimal


Valores posicionais: Valores de smbolo: Produtos Soma: 512 64 7 6 7*512=3584 6*64=384 = 3584 + 384 + 8 + 4 = 3980 8 1 1*8=8 1 4 4*1=4

Figura E.9 Convertendo um nmero octal em decimal.

Convertendo um nmero hexadecimal em decimal


Valores posicionais: Valores de smbolo: Produtos Soma: 4096 A A*4096=40960 = 40960 + 3328 + 48 + 11 256 D D*256=3328 = 44347 16 3 3*16=48 1 B B*1=11

Figura E.10 Convertendo um nmero hexadecimal em decimal.

Suponha que quisssemos converter o decimal 57 em binrio. Iniciamos escrevendo os valores posicionais das colunas da direita para a esquerda at alcanarmos uma coluna cujo valor posicional seja maior que o nmero decimal. No precisamos dessa coluna, ento a descartamos. Portanto, primeiro escrevemos: Valores posicionais: 64 32 16 8 4 2 1 Ento descartamos a coluna com valor posicional 64, deixando: 32 16 8 4 2 1 Valores posicionais: Em seguida trabalhamos da coluna mais esquerda para a direita. Dividimos 32 em 57 e observamos que h um 32 em 57 com um resto de 25, ento escrevemos 1 na coluna 32. Dividimos 16 em 25 e observamos que h um 16 em 25 com um resto de 9 e escrevemos 1 na coluna 16. Dividimos 8 em 9 e observamos que h um 8 em 9 com um resto de 1. Cada uma das duas prximas colunas produz cocientes de 0 quando seus valores posicionais so divididos em 1, portanto escrevemos 0s nas colunas 4 e 2. Por fim, 1 em 1 1, ento escrevemos 1 na coluna 1. Isso resulta em: Valores posicionais: 32 16 8 4 2 1 Valores de smbolo: 1 1 1 0 0 1

Apndice E

Sistemas de numerao

E assim o decimal 57 equivalente ao binrio 111001. Para converter o decimal 103 em octal, iniciamos escrevendo os valores posicionais das colunas at alcanarmos uma coluna cujo valor posicional seja maior que o nmero decimal. No precisamos dessa coluna, ento a descartamos. Portanto, primeiro escrevemos: Valores posicionais: 512 64 8 1 Ento descartamos a coluna com valor posicional 512, o que resulta em: 64 8 1 Valores posicionais: Em seguida trabalhamos da coluna mais esquerda para a direita. Dividimos 64 em 103 e observamos que h um 64 em 103 com um resto de 39, ento escrevemos 1 na coluna 32. Dividimos 8 em 39 e observamos que h quatro 8s em 39 com um resto de 7 e escrevemos 4 na coluna 8. Por fim, dividimos 1 em 7 e observamos que h sete 1s em 7 sem resto e, ento, escrevemos 7 na coluna 1. Isso resulta em: Valores posicionais: 64 8 1 Valores de smbolo: 1 4 7 E assim o decimal 103 equivalente ao octal 147. Para converter o decimal 375 em hexadecimal, iniciamos escrevendo os valores posicionais das colunas at alcanarmos uma coluna cujo valor posicional seja maior que o nmero decimal. No precisamos dessa coluna, ento a descartamos. Portanto, primeiro escrevemos: Valores posicionais: 4096 256 16 1 Ento descartamos a coluna com valor posicional 4096, o que resulta em: 256 16 1 Valores posicionais: Em seguida trabalhamos da coluna mais esquerda para a direita. Dividimos 256 em 375 e observamos que h um 256 em 375 com um resto de 119, ento escrevemos 1 na coluna 256. Dividimos 16 em 119 e observamos que h sete 16s em 119 com um resto de 7 e escrevemos 7 na coluna 16. Por fim, dividimos 1 em 7 e observamos que h sete 1s em 7 sem resto, portanto ento escrevemos 7 na coluna 1. Isso resulta em: Valores posicionais: 256 16 1 Valores de smbolo: 1 7 7 E assim o decimal 375 equivalente ao hexadecimal 177.

E.6

Nmeros binrios negativos: notao de complemento de dois

A discusso at agora neste apndice focalizou nmeros positivos. Nesta seo, explicamos como os computadores representam nmeros negativos utilizando-se notao de complemento de dois. Inicialmente mostramos como o complemento de dois de um nmero binrio formado e, ento, mostramos por que ele representa o valor negativo do nmero binrio dado. Considere uma mquina com inteiros de 32 bits. Suponha
int value = 13;

A representao de 32 bits de value


00000000 00000000 00000000 00001101

Para formarmos o negativo de value, primeiro formamos seu complemento de um aplicando operador de complemento de bitwise do Java (~) :
onesComplementOfValue = ~value;

Internamente, ~value agora value com cada um de seus bits invertidos 1s tornam-se 0s e 0s tornam-se 1s como se segue:
value: 00000000 00000000 00000000 00001101 ~value (isto , o complemento de um do valor): 11111111 11111111 11111111 11110010

Para formarmos complemento de dois de value, adicionamos 1 ao complemento de um de value. Assim


Complemento de dois de value:
11111111 11111111 11111111 11110011

Agora se isso de fato igual a 13, devemos ser capazes de adicion-lo a binrio 13 e obter um resultado do 0. Vejamos:
00000000 00000000 00000000 00001101 +11111111 11111111 11111111 11110011 -----------------------------------00000000 00000000 00000000 00000000

O bit de transporte que vem da coluna mais esquerda descartado e, de fato, obtemos 0 como resultado. Se adicionssemos o complemento de um nmero ao nmero, o resultado seria todos os dgitos como 1. A chave para obter um resultado de todos os dgitos como zero que o complemento de dois seja 1 maior que o complemento de um. A adio de 1 faz com que cada coluna adicione 0 a um

Resumo

transportador de 1. O transportador continua se movendo na esquerda at que seja descartado do bit mais esquerda e da o nmero resultante todos os dgitos como zero. Os computadores na realidade realizam uma subtrao, como
x = a - value;

adicionando o complemento de dois de value a a como a seguir:


x = a + (~value + 1);

Suponha que a seja 27 e value seja 13 como antes. Se o complemento de dois de value for realmente o negativo de value, adicionar o complemento de dois de value a a deve produzir o resultado 14. Vejamos:
a (i.e., 27) +(~value + 1) 00000000 00000000 00000000 00011011 +11111111 11111111 11111111 11110011 ------------------------------------00000000 00000000 00000000 00001110

que de fato igual a 14.

Resumo
Um inteiro como 19 ou 227 ou 63 em um programa Java considerado como estando no sistema de numerao decimal (base 10). Os dgitos no

sistema de numerao decimal so 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. O dgito mais baixo 0 e o mais alto 9 um a menos que a base 10.
Internamente, computadores utilizam o sistema de numerao binrio (base 2). O sistema de numerao binrio tem apenas dois dgitos, 0 e 1. Seu

dgito mais baixo 0 e o mais alto 1 um a menos que a base 2.


O sistema de numerao octal (base 8) e o sistema de numerao hexadecimal (base 16) so populares principalmente porque tornam conveniente a

abreviao de nmeros binrios.


Os dgitos do sistema de numerao octal variam de 0 a 7. O sistema de numerao hexadecimal apresenta um problema uma vez que ele requer dezesseis dgitos um dgito mais baixo que 0 e um mais alto

com um valor equivalente ao decimal 15 (um a menos que a base 16). Por conveno, utilizamos as letras A a F para representar os dgitos hexadecimais correspondentes aos valores decimais 10 a 15. Cada sistema de numerao utiliza notao posicional cada posio em que um dgito escrito tem um valor posicional diferente. Um relacionamento particularmente importante, que tanto o sistema de numerao octal como o sistema de numerao hexadecimal tm com o sistema binrio, que as bases octal e hexadecimal (8 e 16, respectivamente) so potncias da base do sistema de numerao binrio (base 2). Para converter um nmero octal em um binrio, substitua cada dgito octal por seu equivalente binrio de trs dgitos. Para converter um nmero hexadecimal em um binrio, substitua cada dgito hexadecimal por seu equivalente binrio de quatro dgitos. Uma vez que estejamos acostumados a trabalhar com decimal, conveniente converter um nmero binrio, octal, ou hexadecimal em decimal para obter um sentido do valor real do nmero. Para converter um nmero em decimal por meio de outra base, multiplique o equivalente decimal de cada dgito por seu valor posicional e some os produtos. Os computadores representam nmeros negativos utilizando-se a notao de complemento de dois. Para formar o negativo de um valor em binrio, primeiro forme o complemento de um aplicando o operador de complemento de bitwise do Java (~). Isso inverte os bits do valor. Para formar o complemento de dois de um valor, adicione um ao complemento de um do valor.

Terminologia
base bitwise, operador de complemento (~) complemento de dois, notao converses dgito notao de complemento de um notao posicional sistema de numerao binrio sistema de numerao de base 10 sistema de numerao de base 16 sistema de numerao de base 2 sistema de numerao de base 8 sistema de numerao decimal sistema de numerao hexadecimal sistema de numerao octal valor de smbolo valor negativo

Exerccios de reviso
E.1 As bases dos sistemas de numerao binrios, octais, decimais e hexadecimais so ________, ________, ________ e ________ , respectivamente. E.2 Em geral, as representaes decimal, octal e hexadecimal de um nmero binrio dado contm (mais/menos) dgitos que o nmero binrio. E.3 (VerdadeiroFalso) Uma razo popular para utilizar o sistema de numerao decimal que ele forma uma notao conveniente para abreviar nmero binrio simplesmente substituindo-se um dgito decimal por grupo de quatro bits binrios. E.4 A representao (octal / hexadecimal / decimal) de um valor binrio grande a mais concisa (das alternativas dadas). E.5 (Verdadeiro/Falso) O dgito mais alto em qualquer base um maior que a base.

Apndice E

Sistemas de numerao

E.6 (Verdadeiro/Falso) O dgito mais baixo em qualquer base um menor que a base. E.7 O valor posicional do dgito mais direita de qualquer nmero em octal, binrio, hexadecimal ou decimal sempre ________. E.8 O valor posicional do dgito esquerda do dgito mais direita de qualquer nmero em octal binrio, hexadecimal ou decimal sempre igual a ________. E.9 Preencha os valores ausentes neste grfico de valores posicionais para as quatro posies mais direita em cada um dos sistemas de nmero indicados:
decimal hexadecimal binrio octal 1000 ... ... 512 100 256 ... ... 10 ... ... 8 1 ... ... ...

E.10 E.11 E.12 E.13 E.14 E.15 E.16 E.17 E.18 E.19

Converta o binrio 110101011000 em octal e hexadecimal. Converta o hexadecimal FACE em binrio. Converta o octal 7316 em binrio. Converta o octal 4FEC em hexadecimal. (Dica: Primeiro converta 4FEC em binrio ento converta esse nmero binrio em octal.) Converta o binrio 1101110 em decimal. Converta o octal 317 em decimal. Converta o hexadecimal EFD4 em decimal. Converta o decimal 177 em binrio, em octal e em hexadecimal. Mostre a representao binria do decimal 417. Ento, mostre o complemento de 417 e o complemento de dois de 417. Qual o resultado quando um nmero e seu complemento de dois so somados?

Respostas dos exerccios de reviso


E.1 10, 2, 8, 16. E.2 Menos. E.3 Falso. O hexadecimal faz isso. E.4 Hexadecimal. E.5 Falso. O dgito mais alto em qualquer base um menor que a base. E.6 Falso. O dgito mais baixo em qualquer base zero. E.7 1 (a base elevada potncia zero). E.8 A base do sistema de numerao. E.9 Preencha os valores ausentes nesse grfico de valores posicionais para as quatro posies mais direita em cada um dos sistemas de nmero indicados:
decimal hexadecimal binrio octal 1000 4096 8 512 100 256 4 64 10 16 2 8 1 1 1 1

E.10 E.11 E.12 E.13 E.14 E.15 E.16 E.17

Octal 6530; hexadecimal D58. Binrio 1111 1010 1100 1110. Binrio 111 011 001 110. Binrio 0 100 111 111 101 100; octal 47754. Decimal 2+4+8+32+64= decimal 110. Decimal 7+1*8+3*64=7+8+192=207. Decimal 4+13*16+15*256+14*4096=61396. Decimal 177 em binrio:
256 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 (1*128)+(0*64)+(1*32)+(1*16)+(0*8)+(0*4)+(0*2)+(1*1) 10110001

em octal:
512 64 8 1 64 8 1 (2*64)+(6*8)+(1*1) 261

Exerccios
em hexadecimal:
256 16 1 16 1 (11*16)+(1*1) (B*16)+(1*1) B1

E.18

Binrio:
512 256 128 64 32 16 8 4 2 1 256 128 64 32 16 8 4 2 1 (1*256)+(1*128)+(0*64)+(1*32)+(0*16)+(0*8)+(0*4)+(0*2)+(1*1) 110100001

Complemento de um: 001011110 Complemento de dois: 001011111 Verificao: Nmero binrio original + seu complemento de dois
110100001 001011111 --------000000000

E.19

Zero.

Exerccios
E.20 Algumas pessoas argumentam que muitos de nossos clculos seriam mais fceis no sistema de numerao de base 12 porque 12 divisvel por muito mais nmeros que 10 (para a base 10). Qual o dgito mais baixo na base 12? Qual seria o smbolo mais alto para o dgito na base 12? Quais os valores posicionais das quatro posies mais direita de qualquer nmero no sistema de numerao de base 12? E.21 Como o valor mais alto de smbolo nos sistemas de numerao que discutimos em relao ao valor posicional do primeiro dgito esquerda do dgito mais direita de qualquer nmero nesses sistemas de numerao? E.22 Complete o seguinte grfico de valores posicionais para as quatro posies mais direita em cada um dos sistemas de nmero indicados:
decimal base 6 base 13 base 3 1000 ... ... 27 100 ... 169 ... 10 6 ... ... 1 ... ... ...

E.23 E.24 E.25 E.26 E.27 E.28 E.29 E.30 E.31 E.32

Converta o binrio 100101111010 em octal e hexadecimal. Converta o hexadecimal 3A7D em binrio. Converta o hexadecimal 765F em octal. (Dica: Primeiro converta 765F em binrio, ento converta esse nmero binrio em octal.) Converta o binrio 1011110 em decimal. Converta o octal 426 em decimal. Converta o hexadecimal FFFF em decimal. Converta o decimal 299 em binrio, em octal e em hexadecimal. Mostre a representao binria do decimal 417. Ento, mostre o complemento de um de 779 e o complemento de dois de 779. Qual o resultado quando o complemento de dois de um nmero adicionado a ele mesmo? Mostre o complemento de dois do valor inteiro -1 em uma mquina com inteiros de 32 bits.