CyM98

<< Bases de Numeración >>

Dificultad: Computación Matemática

Se necesitan conocimientos elementales de computación y de matemática.

Lecciones anteriores:

Suma de números enteros largos Comp. Mate.

 
Google
Web www.oma.org.ar


Probablemente la forma más sencilla de representar la una cantidad de objetos haciendo un "palito" por cada objeto contado (la podríamos llamar "base palito"). Por ejemplo si uno quisiera anotar que tiene 276 vacas en un corral uno escribiría :

I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I

Como se ve en un poco engorrosa y además es muy difícil operar con los números escritos de esta manera, por ejemplo traten de sumar

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII +
        IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII =

Después de muchos intentos de las diferentes civilizaciones, casi en todo el planeta (¿o en todo?) se utiliza la notación "arábiga" en base 10. En este sistema para escribir un número utilizamos los dígitos

0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (10 en total)

y cada lugar a la izquierda vale 10 veces el  anterior. Por ejemplo en 63481 el "4" vale cuatrocientos, porque está en el tercer lugar desde la derecha.

Otra forma de entenderlo es reescribirlo como

63481=1+8*10+4*100+3*1000+6*10000

O equivalentemente en forma de potencias

63481=1*100+8*101+4*102+3*103+6*104

La elección del número 10 para este desarrollo es arbitraria, debido a que inicialmente se usaban los 10 dedos de las manos para contar. Por esta razón histórica a si no se indica la base, se sobreentiende que es base 10. Pero se podría haber elegido cualquier otro entero.

 

Por ejemplo en base 8 uno escribiría a este mismo número como

1737718=1*80 + 7*81 +7*82 +3*83 +7*84 +1*85
         =1*1 + 7*8 +7*64 +3*512 +7*4096 +1*32768=63481

Si uno contara hasta diez en base 4 quedaría

14 = uno(I)
24 = dos(II)
34 = tres(III)
104 = cuatro(IIII)
114 = cinco(IIIII)
124 = seis(IIIIII)
134 = siete(IIIIIII)
204 = ocho(IIIIIIII)
214 = nueve(IIIIIIIII)
224 = diez (IIIIIIIIII)

Estas otras bases se utilizan muy poco, salvo la base 2 en electrónica y computación, ya que los símbolos son solamente 0 y 1. El 1 representa el paso de corriente y el 0 la ausencia de esta (algo así como "prendido" y "apagado"). También se utiliza la base 16, en este caso faltan símbolos por lo que a los dígitos se agregan algunas letras :

A = 10
B = 11
C = 12
D = 13
E = 14
F = 15

La mayor utilidad es que a cada grupo de 4 cifras binarias (base 2) le corresponde 1 en base 16, permitiendo escribirlos de una manera más corta, pero fácil de pasar a base 2.

Por ejemplo el número

63481=F7F916=9*160 +15(F)*161 +7*162 +15(F)*163

63481=11110111111110012=1*20 +0*21 +0*22 +1*23+1*24+ ...

Si uno mira con atención y divide en bloques de a 4 (¡porque 24=16!) se puede ver la relación entre estas dos formas de escribirlo:

1111  0111  1111  1001  2
  F     7     F     9   16

También si uno mira un reloj, con un poco de buena voluntad, se puede pensar a las horas minutos y segundo como la cantidad de segundos escrita en base 60 ( y los símbolos serían "00", "01", "02", ..., "58", "59"). Por ejemplo 63481 segundos = "17 horas 30 minutos 01 segundo" = "17:30:01"

 

Para convertir un número a base 10 se puede emplear un método como el que utilizamos para ver que 1737718 = 63481, o sea escribirlo como suma de potencias de la base.

El proceso inverso es un poco más complicado y consiste en dividir al número por la base, y luego dividir los cocientes que se van obteniendo por la base hasta que no se pueda seguir. Luego se escriben los restos empezando por el último hasta llegar al primero y ¡listo!(¿Y por qué funciona?). Mejor veamos un ejemplo :

63481 |8
    1 \----
       7935 |8
          7 \----
             991  |8
               7  \----
                   123  |8                      3  \----
                         15   |8
                          7   \----
                               1

Escribamos un programa que realice esta operación. (Bueno, en realidad el programa funciona sólo para bases del 2 al 10, las modificaciones para que funcione con bases más altas queda a cargo de ustedes.)

Deflng A-Z'Todas las variables son enteras
Input "base:", labase
Input "numero:", numero
Dim Resultado as String
'Guardo el resultado final como texto
Do While numero >= labase
   'Hago la división
   Resto = numero Mod labase
   Cociente = numero \ labase
   'Guardo el resto en "Resultado" adelante del los anteriores
   Resultado = Str$(Resto)+ Resultado
   'Ahora repito la operacion pero empezando del cociente
   numero = Cociente
Loop
Resultado = Str$(numero)+ Resultado
Print Resultado

Las operaciones se pueden realizar también en cualquiera de estas bases. Sumar y restar es fácil, lo único que hay que recordar es que en ves de llevarse 10, hay que llevarse la base. Por ejemplo veamos como sumar 1651738 y 543418:

 11 1<-----"me llevo"
 1651738
+ 543418
 ------
 2415348
     |
     \-- 7+4=11=8+3=138: pongo 3 y me llevo 1

(Obviamente el resultado no depende de la base en que se realice la operación ¡ 10 vacas + 5 vacas dan 15 vacas por más que uno use tinta verde o base 3 !. Comprobarlo en este ejemplo )

Para multiplicar, el problema es que uno no se acuerda las tablas de las otras bases de memoria (las tablas en base 10 las memorizamos durante los primeros años en la escuela). Por esta razón es bastante difícil multiplicar números escritos en otra base (salvo en base 2, ¿por qué?). Para dividir uno necesita saber realizar las otras operaciones, en particular hay que saber multiplicar, por lo que es muy difícil. En todos los casos el método sigue funcionando, pero uno debería consultar continuamente las tablas de multiplicar para poder completar la operación.

 


Ejercicios:

  1. Escribir un programa que permita pasar un número escrito en una base a otra.
  2. ¿Para que n entre 2 y 1000, el número que se escribe como 193n es un cuadrado perfecto? ¿Que pasa si n puede tomar cualquier valor mayor que 1?
  3. ¿Para que n el número que se escribe como 426182n es par?
  4. Escribir la tabla de sumar y multiplicar en las base 2, 3, 5, 8 y 9. O escribir un programa que las arme y después mirarlas un rato y analizarlas.

 


Lecciones siguientes:

Números no enteros en otras bases
Como operar con "decimales" en otras base.

Base factorial y otras parecidas
Bases en las que la base no es fija y otras cosas raras.

Cuadrado lleno de múltiplos de 17
Como parte de un programa se separa un número en cifras usando enteros y cadenas de texto.

 


La idea es que hagan los ejercicios y piensen que otras cosas interesantes se pueden hacer relacionadas con estos temas. Cuéntennos lo que consiguieron y pregunten lo que no les salió. Envíen sus preguntas, dudas, sugerencias, experiencias y propuestas. Nuestra dirección es cym98@oma.org.ar .

También nos gustaría saber tu opinión sobre esta clase. Les pedimos que se tomen unos instantes y contesten estas preguntas. Con tu ayuda podremos hacer un curso cada vez mejor.

¿Cuál es tu calificación general de esta clase?

No entendí nada   Mala   Regular   Buena   Muy buena

El contenido de esta clase te resultó:

Nuevo   Conocido en parte   Conocido

El contenido de esta clase te pareció:

Difícil   Regular   Fácil

Los problemas de esta clase te parecieron:

Difíciles   Regulares   Fáciles

Comentarios, preguntas, sugerencias:

Agregar más información o una nueva lección sobre:

Ciclos (Do..Loop, For..Next)

Nombre y apellido (opcional):

E-mail (opcional):

    


OmaNet   Curso CyM98 OmaNet - Educación Interactiva
   
www.oma.org.ar/omanet | omanet@oma.org.ar
mensajes: webmaster@oma.org.ar
duty free alcohol prices duty free cigarettes rules duty free cigars online order cosmetics online uk buy duty free perfume buy tobacco online canada