Вы находитесь на странице: 1из 33

Nmeros Binrios

Nmeros binrios A aritmtica usada por computadores um pouco diferente daquela utilizada pelas pessoas. A diferena mais importante que computadores realizam operaes com nmeros cuja preciso finita e fixa. Outra diferena que a maioria dos computadores usa o sistema binrio e no o decimal para representar nmeros.

Nmeros de preciso finita

Nmeros de preciso finita Quando estamos efetuando aritmtica, em geral, nem pensamos na questo de quantos dgitos decimais so necessrios para representar um nmero. Fsicos podem calcular que h 1078 eltrons no universo sem se preocupar com o fato de que so necessrios 79 dgitos decimais para escrever esse nmero por extenso. Algum que estivesse calculando o valor de uma funo com lpis e papel e precisasse da resposta com seis dgitos significativos simplesmente manteria os resultados intermedirios com sete dgitos, ou oito, ou quantos fossem necessrios. Nunca surge o problema do papel no ser grande o suficiente para nmeros de sete dgitos.

Nmeros de preciso finita Com computadores, a histria bem diferente. Na maioria deles, a quantidade de memria disponvel para armazenar nmeros fixada na ocasio em que a memria projetada. Com um pouco de esforo, o programador pode representar nmeros duas, ou trs, ou at muito mais vezes maiores que essa quantidade fixa, mas isso no muda a natureza da dificuldade. A natureza finita do computador nos obriga a lidar somente com nmeros que pode ser representados por uma quantidade fixa de dgitos, os quais denominamos nmeros de preciso finita.

Nmeros de preciso finita Para estudar as propriedades de nmeros de preciso finita, vamos examinar o conjunto de inteiros positivos que pode ser representado por trs digitos decimais, sem nenhum ponto decimal e sem nenhum sinal. Esse conjunto tem exatamente mil membros: 000, 001, 002, 003, , 999. Com essa restrio, impossvel, expressar certos tipos de nmeros, como: 1. Nmeros maiores que 999. 2. Nmeros negativos. 3. Fraes. 4. Nmeros irracionais. 5. Nmeros complexos.

Nmeros de preciso finita Uma propriedade importante da aritmtica no conjunto de todos os inteiros refere-se ao fechamento no que diz respeito s operaes de adio, subtrao e multiplicao. Em outras palavras, para cada par de inteiros i e j, i + j, i j e i x j tambm so inteiros. O conjunto de inteiros no fechado no que diz respeito diviso, porque existem valores de i e j para os quais i / j pode no ser expresso como um inteiro (por exemplo, 7/2 e 1/0).

Nmeros de preciso finita Nmeros de preciso finita no so fechados em relao a nenhuma dessas quatro operaes bsicas, como mostrado a seguir, usando nmeros decimais de trs dgitos como exemplo: 600 + 600 = 1200 (muito grande) 003 005 = - 002 (negativo) 050 * 050 = 2500 (muito grande) 007 / 002 = 3,50 (no inteiro)

Nmeros de preciso finita As violaes podem ser divididas em duas classes mutuamente exclusivas: 1) operaes cujo resultado maior que o maior nmero no conjunto (erro de excesso) ou menor que o menor nmero no conjunto (erro de falta) e, 2) operaes cujo resultado no nem muito grande nem muito pequeno, mas simplesmente no um membro do conjunto. Das quatro violaes anteriores, as trs primeiras so exemplos da violao pelo primeiro motivo (excesso ou falta) e a quarta um exemplo de violao pelo segundo motivo.

Nmeros de preciso finita Como computadores tm memrias finitas e, portanto, devem necessariamente efetuar aritmtica com nmeros de preciso finita, os resultados de certos clculos sero, do ponto de vista da matemtica clssica, simplesmente errados. Um dispositivo de clculo que d a resposta errada, embora esteja em perfeitas condies de funcionamento, pode parecer estranho de incio, mas o erro uma conseqncia lgica de sua natureza finita. Alguns computadores tm hardware especial que detecta erros de excesso.

Nmeros de preciso finita A lgebra de nmeros de preciso finita diferente da lgebra normal. Como exemplo, considere a lei associativa: a + (b c) = (a + b) c

Nmeros de preciso finita Vamos avaliar os lados para a = 700, b = 400 e c = 300. Para calcular o lado esquerdo, primeiro calculamos (b c), que 100, e ento somamos esta quantidade a a, o que d 800. Para calcular o lado direito, primeiro calculamos (a + b), o que d um excesso na aritmtica finita de trs dgitos inteiros. O resultado pode depender da mquina que est sendo usada, mas no ser 1100. Subtrair 300 de algum nmero que seja 1100 no vai resultar 800. A lei associativa no vale, a ordem das operaes importante.

Nmeros de preciso finita Como outro exemplo, considere a lei distributiva: a * (b c) = a * b a * c Vamos avaliar ambos os lados para a = 5, b = 210, c = 195. O lado esquerdo 5 * 15, o que d 75. O lado direito no 75 porque a * b d erro de excesso.

Nmeros de preciso finita A julgar pelos exemplos, poderamos concluir que, embora os computadores sejam dispositivos de uso geral, sua natureza finita os tornam especialmente inadequados para efetuar aritmtica. claro que essa concluso no verdadeira, mas serve para ilustrar a importncia de entender como os computadores funcionam e quais so suas limitaes.

Sistemas de nmeros raiz, ou nmeros-base

Sistemas de nmeros raiz, ou nmeros-base Um nmero decimal ordinrio com o qual todos estamos familiarizados consiste e em uma seqncia de dgitos decimais e, possivelmente, um ponto decimal (vrgula aritmtica). A figura a seguir mostra a forma geral e sua interpretao usual. Escolhemos 10 como a base para exponenciao, denominada a raiz ou base, porque estamos usando nmeros decimais, ou de base 10.

Sistemas de nmeros raiz, ou nmeros-base

Sistemas de nmeros raiz, ou nmeros-base Quando se trata de computadores, muitas vezes conveniente usar outras bases que no sejam 10. As bases mais importantes so 2, 8 e 16. Os sistemas de nmeros baseados nessas bases, ou razes, so chamados binrios, octais e hexadecimais, respectivamente.

Sistemas de nmeros raiz, ou nmeros-base Um sistema numrico de base k requer k smbolos diferentes para representar os dgitos 0 a k 1. Nmeros decimais so formados por 10 dgitos decimais: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Nmeros binrios so formados por 2 dgitos binrios: 0, 1 Nmeros octais so formados por 8 dgitos octais: 0, 1, 2, 3, 4, 5, 6, 7 Nmeros hexadecimais so formados por 16 dgitos hexadecimais: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f

Sistemas de nmeros raiz, ou nmeros-base A expresso dgito binrio, que significa 1 ou 0, costuma ser denominada um bit. A prxima figura mostra o nmero decimal 2001 expresso em forma binria, octal, decimal e hexadecimal. O nmero 7B9 obviamente hexadecimal, porque o smbolo B s pode ocorrer em nmeros hexadecimais. Contudo, o nmero 111 poderia estar em qualquer um dos sistemas numricos discutidos. Para evitar ambigidade utilizaremos sistema de notao (ex: 102)

Sistemas de nmeros raiz, ou nmeros-base

Sistemas de nmeros raiz, ou nmeros-base 3 11 3 3 4 100 4 4 CUIDADO!!!!

Converso de uma base para outra

Converso de uma base para outra A converso de nmeros octais ou hexadecimais par nmeros binrios fcil. Para converter um nmero binrio para octal, divida-o em grupos de 3 bits imediatamente esquerda (ou direita) do ponto decimal (muitas vezes denominado ponto binrio ou vrgula aritmtica) formando um grupo, os 3 bits imediatamente sua esquerda outro grupo e assim por diante. Cada grupo de 3 bits pode ser convertido diretamente para um nico dgito octal, 0 a 7, de acordo com a converso dada nas primeiras linhas da Tabela A.1. Talvez seja necessrio adicionar um ou dois zeros esquerda ou direita para preencher o grupo e completar 3 bits.

Converso de uma base para outra A converso de octal para para binrio igualmente trivial. Cada dgito octal simplesmente substitudo pelo nmero binrio equivalente de 3 bits. A converso de hexadecimal para binrio , em essncia, a mesma que de octal para binrio, exceto que cada dgito hexadecimal corresponde a um grupo de 4 bits em vez de 3 bits. Vejamos o exemplo:

Converso de uma base para outra

Converso de uma base para outra Para converso de nmeros decimais para binrios utilizaremos o modo de divises sucessivas, onde os restos das divises representaro o nmero binrio, de modo anlogo, podemos converter nmeros decimais nas bases octal e hexadecimal, vejamos o exemplo.

Converso de uma base para outra

Converso de uma base para outra Converter (14)10 para octal 14:8 = 1 resto = 6 (14)10 = (16)8 Converter (1043)10 para hexadecimal 1043:16 = 65 resto = 3 65:16 = 4 resto = 1 (1043)10 = (413)16

Converso de uma base para outra Converso de qualquer base para base10:

N = dn-1.bn-1 + dn-2.bn-2 + ... + d1.b1 + d0.b0 Onde: d = algarismo; n = posio do algarismo no nmero N; b = base atual.

Converso de uma base para outra Converter (1110)2 para decimal (1110)2 = 1.23 + 1.22 + 1.21 + 0.20 = =8+4+2+0= = (14)10 = 14 Converter (1043)8 para decimal (1043)8 = 1.83 + 0.82 + 4.81 + 3.80 = = 512 + 0 + 32 + 3 = = (547)10 = 547 Converter (1C2F)16 para decimal (1C2F)16 = 1.163 + 12.162 + 2.161 + 15.160 = = 4096 + 3072 + 32 + 15 = = (7215)10 = 7215

Exercitando o conceito

Exercitando o conceito Converter (610)10 para bases 2, 8 e 16 Converter (77)8 para bases 2, 10 e 16 Converter (447)10 para bases 2, 8 e 16 Converter (447)16 para bases 2, 8 e 10

Вам также может понравиться