Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Ayuda con matematicas  (Leído 1229 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Orion

  • Habitual
  • *
  • Puntos: 0
  • Mensajes: 22
    • Ver Perfil
en: Enero 14, 2011, 07:33:00 pm
presiso ayuda porque quiero hacer esto del modo mas eficiente posible.

si no me equivoco, 1 byte puede almacenar 256 valores distintos, por ejemplo del 0 al 255

supongamos que queremos guardar en un archivo 100 numeros, cada uno con valores entre 0 y 255, en ese caso nesesitariamos como minimo 100 bytes.

pero ahora supongamos que los numeros siempre estaran en orden de menor a mayor. En teoria, vastaria con menos de 100 bytes, pero en la practica no sarbria como hacerlo con menos de 100 bytes.

¿Cren que sea posible?
¿Cuanto es el minimo de memoria?

Juego online de runas coleccionables: Rune 20%
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Hackware

Respuesta #1 en: Enero 14, 2011, 08:26:25 pm
Hasta donde yo sé GM gestiona esto por si mismo. Yo nunca le he prestado atención a cosas como esas (no por indiferencia, sino por ignorancia :P).

       
 


Desconectado MatuX

  • Adicto
  • *
  • Puntos: 60
  • Mensajes: 409
  • Sexo: Masculino
  • MX-Games
    • Ver Perfil
    • matuxgames
Respuesta #2 en: Enero 15, 2011, 01:58:49 am
en realidad no entiendo tu pregunta pero si quieres almacenar 100 números no importa si esta ordenados o no igual te va a ocupar el mismo espacio

La cosa es que,.... no tengo la menor idea.

http://matuxgames.blogspot.com/
 


Desconectado Orion

  • Habitual
  • *
  • Puntos: 0
  • Mensajes: 22
    • Ver Perfil
Respuesta #3 en: Enero 15, 2011, 03:53:10 pm
Citar
si quieres almacenar 100 números no importa si esta ordenados o no igual te va a ocupar el mismo espacio

en realidad no ocuparia el mismo espacio, segun mis cuentas ocuparia entre 30 y 25 veses menos si se los coloca en un orden predeterminado (de menor a mayor como ya mencione)

me puse a sacar algunas cuentas:

la cantidad de combinaciones que hay en 100 bytes es de 256^100 aprox 7*10^240
sin embargo la cantidad de combinaciones que nesesito son de 99263936, logaritmo base 2 de dicha cantidad es 26.5 lo que significa que con 27 bits puedo almacenar cada una de las distintas posibilidades, lo que es casi 30 veses mas eficiente que usar 100 bytes.

espero no haberme equivocado en las cuentas, ahora me resta hacer el sistema de codificacion y decodificacion

Juego online de runas coleccionables: Rune 20%
 


Desconectado MatuX

  • Adicto
  • *
  • Puntos: 60
  • Mensajes: 409
  • Sexo: Masculino
  • MX-Games
    • Ver Perfil
    • matuxgames
Respuesta #4 en: Enero 15, 2011, 05:45:12 pm
puede ser que no entienda tu pregunta, hasta donde yo se en un byte solo se puede almacenar1 valor que va del 0 al 255 es igual que las palabra en una letra puede ocupar hasta 3 byte por que es uno para el color, fuente, tamaño y lo que se hace es almacenar las veces que se repite para ocupar menos espacio como en los formatos gif
« última modificación: Enero 15, 2011, 06:10:53 pm por MatuX »

La cosa es que,.... no tengo la menor idea.

http://matuxgames.blogspot.com/
 


Desconectado Hackware

Respuesta #5 en: Enero 16, 2011, 01:36:30 am
¿Cómo piensas aplicar esto en GM?

       
 


Desconectado carlosanomaly

  • Habitual
  • *
  • Puntos: 0
  • Mensajes: 11
  • Sexo: Masculino
  • Aairon meiden XD
    • Ver Perfil
Respuesta #6 en: Febrero 04, 2011, 10:15:54 pm
pues, de lo poco que yo se de assembler, mmm yo creo que eso es si tu usas el sistema binario, pero segun que ahorras espacio usando el sistema hexagesimal ademas de que te permite guardar valores mas grandes, generalmente casi nadie sabe de esto porque enseñan los super lenguajes y no los lenguajes madre, y yo soy uno de estos, pero podrias investigar sobre assembler y estoy seguro que podras encontrar tus respuestas.

 


Desconectado trunks14

  • Asiduo
  • *
  • Puntos: 0
  • Mensajes: 158
    • Ver Perfil
Respuesta #7 en: Marzo 06, 2011, 09:51:16 pm
Si necesitas guardar 100 números (que estén en el rango 0-255) no importa si están en cualquier orden, aún necesitas 100 bytes.

Si sabes que la secuencia de bytes tiene ciertas restricciones, como que siempre aparecerán en orden creciente, como en 0, 1, 2, 45... entonces efectivamente el número de combinaciones posibles se reduce a 256 permutación de 100:



En vez del numero mas grande 256^100. Sin embargo aun así necesitas 100 bytes. Lo único que ha pasado es que se ha reducido el numero de combinaciones válidas posibles.

También parece ser que haz confundido la fórmula del logaritmo base 2. Esta te sirve para obtener el numero mínimo de bits que necesitas para almacenar un número de magnitud N, que nada tiene que ver con el número de combinaciones de una secuencia.

La firma no es mas que una firma...Gane el concurso de firmas mas aburridas y sin sentido?