lunes 25 de mayo de 2009

BASE DUAS EXPLICADA A XENTE DE LETRAS. ADICADO Á MIÑA AMIGA ANA BANDE.



Unha boa maneira de entender a representación dos números en "base duas" é a seguinte:
Imaxina que tés unha báscula de platillos, coma esas que se empregaban antiguamente nas tendas. Imaxina tamén que tes un xogo de pesas, do cal a pesa máis pequena pesa 1 quilo, e cada unha das seguintes pesa o doble que a anterior: 1, 2 , 4 , 8 , 16 , 32 ,...Imaxina tamén que o platillo no que colocas as pesas ten un "buraco", un lugar axeitado para cada pesa. O da dereita de todo resérvase para a de 1 quilo, e os seguintes, cara a esquerda, para as outras, en orde crecente.
É fácil comprobar que podes pesar calquer número de quilogramos con ese xogo de pesas. Si o lugar reservado para cada pesa está ocupado, escribimos "1", e si non o está escribimos "0". Comproba que , por exemplo 11 quilos pesaríanse así 1 0 1 1 . O primeiro "1" pola dereita representa a presencia de a pesa de 1 quilo. O seguinte, cara a esquerda, a de dous quilos. O lugar da de catro quilos está desocupado ("0") , e a pesa de 8 quilos o seu correspondente lugar, o cuarto, sempre de esquerda a dereita. Temos entón: 1 + 2+ 8 = 11. O número "11" (*) escríbese "1011" en base dous.
Ahí tés, de xeito similar, a "codificación binaria" de o que sería a "pesada" dos vinte primeiros números naturáis:
1 = 1 (1)
2 = 10 (2+0)
3 = 11 (2+1)
4 = 100 (4+0+0)
5= 101 (4+0+1)
6 = 110 (4+2+0)
7 = 111 (4+2+1)
8 = 1000 ( 8+0+0+0)
9= 1001 (8+0+0+1)
10 = 1010 (8+0+2+0)
11 = 1011 (8+0 +2 +1)
12= 1100 ( 8+4 +0+0)
13 =1101 (8+4+0+1)
14 = 1110 (8+4+2+0)
15 = 1111 (8 +4 +2 +1)
Agora, volvo empezar, e cóntoo de outra maneira.
O feito de que cada pesa pese o doble da anterior, pódese decir rimbombantemente especificando que siguen a sucesión das potencias de dous. Quedas coma un Pitágoras. O reservar un lugar para cada pesa, ainda que logo non se ocupe, pódese expresar decindo que empregas un sistema de "representación posicional ponderada". Aí xa vas de Newton. Os díxitos que se colocan en cada sitio poderían chamarse "unidades, parexas, cuatrenas, ochenas, dazeséisenas, trintaeseisenas,,,," seguindo a lóxica das "unidades, decenas, centenas.." da base dez habitual. Pero quedas de Einstein se lle chamas "unidades de primeira orde, de segunda orde, de terceira orde...", para darlle xeneralidade.
Como ves, é sinxelo interpretar un número calquera en base duas e pasalo a base dez.
Cando queres pasar un número "normal, en base dez" a binario debes dividilo por dous para obteñer o díxito da dereita de todo, o menos "pesado" as unidades .Si da "1" de resto é que o número non é par, esto é divisible por dous. Si da "0" é que o é. Sigues dividindo por dous, para obteñer os restantes, cara a esquerda . Eu creo que así podes entender fácilmente a razón de ser do coñecido algoritmo "divide sucesivamente por dous, e despois colle o último cocente e os restos obtidos, no senso inverso".
Esta non é, nin moitísimo menos, o único xeito teórico posible de representar un número por "bits" , esto é de "dixitalizar" un número.
En realidade , calquer información se pode "dixitalizar", e facelo de moitos xeitos.
Imaxina que eu sólo poidera responder "sí" ("1") ou "non" ("0")a calquera pregunta. Poderías obter calquer informacón de mín facendo as preguntas axeitadas. A mellor maneira de "facer as preguntas axeitadas" é ir dividindo en duas partes o "universo de posiblidades". Si tu quixeras saber, por exemplo, de qué persoa estou namorado, entre todas as persoas do mundo, poderías preguntarme, primeiro, si é home ou muller. Segundo, si vive no hemisferio norte ou no sur. De momento, son sólo dous "bits". Pero conseguiría n eliminar xa a millós de persoas candidatas. Está claro que o número teórico de "preguntas óptimas" é o número de veces que podemos dividir sucesivamente por dous a poboación mundial, facendo ese tipo de preguntas axitadas . A secuencia de "bits" sería unha codificación de esa información. O número de eles (número de´"síes" ou de "noes"), sería "a cantidade de información, en bits, que terías obtido ao saber de quén estou namorado. Estimando a pobación mundial en 7000 millós de persoas, vai multiplicando por dous: 1,2,4,8,16,32,64,128, etc...hasta obter o número máis próximo a 7000 millós. Seguro que non tés que ir moi lonxe. Sólo daría un número exacto si 7000 fose potenia de dous, claro. Os "múltiplos" do bit son: 1 kbyte (1 "k") = 1024 bits (non 1000 bits!!) , 1 Mbyte (1"mega" , 1024 "k´s ") etc.





(*) En realidade, cando escribimos "11", o que estamos facendo é colocar unha pesa de un quilo ("unidades") e unha de dez ("decenas") na báscula imaxinaria da "base dez" que nos instalaron de pequeniños na cacholiña.

1 comentarios:

Ana Bande dijo...

Grazas Xan, dende logo, pensar en termos matemáticos ten que ser bo para a saúde!