Hola amigos,
con este reto no tendréis un Orfèo que os pueda reconducir a la luz:
Usar solamente 3 byte para almacenar en memoria la representación del número100000.
...usaríais solamente un stream?
" Lasciate ogni speranza, o voi che entrate. "
(Dante Alighieri - La divina commedia)
Reto De La Ultratumba
Objetivo: Reto De La Ultratumba
última edición por vuott el Lunes, 22 Septiembre 2014, 23:50; editado 3 veces
última edición por vuott el Lunes, 22 Septiembre 2014, 23:50; editado 3 veces
Objetivo: Re: Reto De La Ultratumba
última edición por vuott el Martes, 23 Septiembre 2014, 10:23; editado 2 veces
última edición por vuott el Martes, 23 Septiembre 2014, 10:23; editado 2 veces
Objetivo: Re: Reto De La Ultratumba
Hola Vuott.
Yo (ya salió el yo) intentaría crear retos algo más sencillos para un nivel de conocimiento general.
Difícil, naturalmente, sobre todo por la variedad de conocimiento que tenemos cada usuario de Gambas.
Por ahora te centras en binario. No sé si el tema de binario es algo que vayamos a tratar a diario en Gambas.
Debemos conocer el binario, naturalmente, pero a la larga tendríamos que hacer algo muy concreto para
trabajar con el, en una aplicación de escritorio. La variedad es grande, desde luego.
Saludos
Yo (ya salió el yo) intentaría crear retos algo más sencillos para un nivel de conocimiento general.
Difícil, naturalmente, sobre todo por la variedad de conocimiento que tenemos cada usuario de Gambas.
Por ahora te centras en binario. No sé si el tema de binario es algo que vayamos a tratar a diario en Gambas.
Debemos conocer el binario, naturalmente, pero a la larga tendríamos que hacer algo muy concreto para
trabajar con el, en una aplicación de escritorio. La variedad es grande, desde luego.
Saludos
Objetivo: Re: Reto De La Ultratumba
No sé si van por ahí los tiros, pero un número entero ocupa 4 bytes, por lo tanto descartado.
Entonces, hay que usar una cadena que no exceda de 3 caracteres que son 3 bytes... pero las cadenas en gambas tienen un carácter adicional de "final de cadena", por lo que la cadena final sería de nuevo 4 bytes.
La única forma de representar ese número con el mínimo de caracteres es con la notación científica: 1E5 - Tres bytes sin contar el final de cadena. El método para almacenarlo en memoria es trivial (si es que esta es la solución).
100000 = 1 * 105 = 1e5
Saludos
Entonces, hay que usar una cadena que no exceda de 3 caracteres que son 3 bytes... pero las cadenas en gambas tienen un carácter adicional de "final de cadena", por lo que la cadena final sería de nuevo 4 bytes.
La única forma de representar ese número con el mínimo de caracteres es con la notación científica: 1E5 - Tres bytes sin contar el final de cadena. El método para almacenarlo en memoria es trivial (si es que esta es la solución).
100000 = 1 * 105 = 1e5
Saludos
Objetivo: Re: Reto De La Ultratumba
Hooola jguardon,
este reto espera una o mas respuestas.
Bueno, quien sabe si otros amigos propusieran otras soluciones posibles.
Saludos.
última edición por vuott el Martes, 23 Septiembre 2014, 22:59; editado 1 vez
jguardon escribió: [Ver mensaje]
Hooola jguardon,
este reto espera una o mas respuestas.
Bueno, quien sabe si otros amigos propusieran otras soluciones posibles.
Saludos.
última edición por vuott el Martes, 23 Septiembre 2014, 22:59; editado 1 vez
Objetivo: Re: Reto De La Ultratumba
Hola
Imaginaba algo así, por supuesto, pero no identifico los dos últimos bytes. ¿Corresponden a valores ascii? No consigo identificar su significado.
Saludos
Imaginaba algo así, por supuesto, pero no identifico los dos últimos bytes. ¿Corresponden a valores ascii? No consigo identificar su significado.
[&01, &86, &A0]
Saludos
Objetivo: Re: Reto De La Ultratumba
última edición por vuott el Lunes, 29 Septiembre 2014, 00:49; editado 1 vez
Para insertar la representación del numero 10000 en 3 byte, yo usé la su representación hexadecimal: 0186A0 dividida en los sus 3 byte componentes. Despues he asignado cada byte componente a un elemento del array de tipo Byte[ ].
Es decir:
Si yo queiro utilizar practicamente esta representación hexadecimal, dividida en 3 byte, reconstruyo el numero decimal 100000 por ejemplo en esta manera:
Es decir:
bb[0] = &01
bb[1] = &86
bb[2] = &A0
bb[1] = &86
bb[2] = &A0
Si yo queiro utilizar practicamente esta representación hexadecimal, dividida en 3 byte, reconstruyo el numero decimal 100000 por ejemplo en esta manera:
última edición por vuott el Lunes, 29 Septiembre 2014, 00:49; editado 1 vez
Página 1 de 2
No puede crear mensajesNo puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.1996s (PHP: -40% SQL: 140%)
Consultas SQL: 27 - Debug off - GZIP Activado