Beruflich Dokumente
Kultur Dokumente
(/) NMEROS
DAS
Vale a pena entender como funciona o algoritmo de converso de nmeros na base decimal em nmeros de outras bases. O algoritmo obriga o estudante a olhar o sistema decimal como se ele tivesse sido inventado ontem, e deixa um pouco mais claro o jeito como computadores e robs funcionam
n I ^ I 1 ^ ^ I I
:J i
Mi
base, usando sempre apenas nmeros inteiros. Depdi^ disso, basta repetir o mtodo com o primeiro quociente, com o segundo quociente, e assim por diante at que a diviso termine. Por exemplo, para converter 69 na base 10 em 69 na base 2, Fernando executa o algoritmo: 6ql 2
matizou o sistema decimal a ponto de no notar como ele funciona. Mas, s vezes, til lidar com nmeros escritos em outras bases por exemplo, na base 2. Fernando coloca quatro moedas numa caneca, chacoalha bem e, antes de jogar as moedas sobre a mesa, se pergunta: Qual a chance de tirar trs caras e uma coroa ou trs coroas e uma cara? Fernando sabe contar na base 2, e rapidamente desenha a tabela de possibilidades, em que O cara e 1 coroa: Ml 0 0 0 0 0 0 0 0 M2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 M3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 M4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
34L
O
1712
4
O
2L
Feito isso, ele vai da direita para a esquerda e pega o ltimo quociente e todos os restos para formar o nmero 69 na base 2:
Ento, Fernando escreve num pedao de papel: (69),o = (1000101)2 Se ele precisa saber como escrever 115 em notao binria, repete o algoritmo: 1151^
Como neste caso a probabilidade o nmero de casos favorveis (pintados de amarelo) dividido pelo nmero de casos totais, a chance em questo vale: Pr(A) = = Y ^ 50%
Para montar a tabela, Fernando contou de O a 15 na base binria. Computadores fazem tudo o que fazem, de imprimir fotos a exibir um vdeo, manejando apenas dois smbolos, O e 1, tal como Fernando fez. Existe um algoritmo eficiente para converter um nmero na base 10 num nmero numa base qualquer: tudo o que Fernando tem a fazer dividir o nmero na base 10 pelo nmero decimal que representa a outra E depois disso anota no papel: (ll5),-(1110011)2 Fernando sabe que, na base 2, os nmeros so escritos com apenas dois smbolos: O e 1. Na base 3, so escritos com trs smbolos: O, 1 e 2. Fernando faz a conta para ver como ficaria 23 na base 3:
rR<=CSFRlr^J^H/^
w
2 3 L ^
Agora por que esse algoritmo funciona? H centenas de portais de internet para explicar como executar o algoritmo, mas nenhum para explicar por que ele funciona; a explicao est na tabela 1. O texto da tabela 1 pode ser visto em ao no desenho 1. Fernando pode usar o desenho 1 como referncia para escrever 69 em notao decimal e em notao binria, usando o mesmo mtodo:
( 6 9 ) i o = ( 9 1) + ( 6 1 0 ) = ( 9 1 0 " ) + ( 6 1 0 ' ) ( 1 0 0 0 1 0 1 ) 2 = ( 1 1) + (O 2 ) + ( 1 4 ) + (O 8 ) + + ( 0 1 6 ) + (O 3 2 ) + ( 1 6 4 ) = ( 1 2 ) + (O 2 ' ) +
+ (1 2 ' ) + (O 2 ' ) + (O 2") + (O 2 ' ) + ( 1 2 ' ) O mtodo o mesmo ao lidar com nmeros na base 3, como mostra a tabela 2 e o desenho 2. C o m as informaes da tabela 2 e do desenho 2, Fernando pode escrever o nmero 23 na base 10, com a qual est acostumado, e na base 3, com a qual no est.
( 2 3 ) , o = ( 3 1) + ( 2 1 0 ) = ( 3 1 0 " ) + ( 2 1 0 ' ) ( 2 1 2 ) 3 = ( 2 1) + ( 1 3 ) + ( 2 9 ) = ( 2 3) + (1 3 ' ) + ( 2 3 ' )
Talvez Fernando queira converter um nmero grande na base decimal, tipo 9.500, num nmero na base 16 (hexadecimal), que muito usada por projetistas de sistemas informticos. No sistema hexadecimal, Fernando usa 16 smbolos: O, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (= 10), B (= 11), C (= 12), D (= 13), E (= 14) e F (= 15). Um bom primeiro passo repetir o algoritmo da diviso e anot-lo com cuidado, como mostra o desenho 3. No caso do desenho 3, Fernando aplicou o mesmo mtodo que aplicou ao converter {(>9)^^ em (1000101)^; feito isso, ele escreveu a tabela 3. Aplicando o algoritmo, Fernando obtm o jeito de escrever o nmero decimal 9.500 na base 16.
Quando Fernando lida com nmeros decimais escritos em outras bases, ganha uma vantagem extra: entende por que as crianas lutam por tantos anos para entender o sistema decimal. Para a criana, difcil entender por que, no nmero 555, um 5 vale
16
20 1 6 q
2' 2 2 1 3 4 k 0
22 4
2^
24 16
2^ 32
26 6 4
A CONVERSO OE BINARIO PARA HEXADECIMAL Programadores e engenheiros gostam do sistema hexadecimal porque os nmeros e smbolos ficam mais curtos e porque conseguem converter nmeros binrios em hexadecimais e vice-versa de cabea. Da direita para
2 17 1
2 5 0
a esquerda, basta agrupar os bits em conjuntos de quatro bits, e ai basta reescrever o valor de cada grupo de 4 bits
2 4 0
2 2 0
2 1
3 I 23 2
3' 3 3 7
3^ q
3 2
16
16'
16
16'
16^
256 4.0^6
q.500 12
16 5Q3
16
37 5
16
1111
5 unidades, o outro 5 vale 5 0 unidades e o outro 5 vale 5 0 0 unidades. Para Fernando, t a m b m estran h o pensar que, n o nmero h e x a d e c i m a l FFF, o F mais direita vale 15 unidades, o F do meio vale 2 4 0 unidades e o F mais esquerda vale 3 . 8 4 0 unidades. Fernando fica pensando c o m o seria difcil somar, subtrair, multiplicar e dividir nmeros assim mo, s c o m papel e lpis.
1 ^ r
1 ^ ^ r
1 ^ i r
17
1 r