PDA

Ver la versión completa : Variables de 16 bits...



masteries
10/05/2010, 00:38
He aquí una pregunta de respuesta rápida:

Hasta ahora he estado reservando memoria para mis mapas basados en tiles precediendo de BYTE al nombre del array, así me servía para ahorrar memoria en mis mapas con hasta 256 tiles, pero ahora necesito utilizar más tiles... entonces necesito que los valores del array sean de 16 bits, pero...

¿Cuál es la palabra que precede a una variable para que esta sea de 16 bits en Fénix?

Nota: Con INT son variables de 32 bits, pero la diferencia de pasar de 16 a 32 bits en cada posición del array puede suponer un par de Megabytes más de RAM a utilizar, y no quiero que los tiempos de carga se excedan inútilmente.

Gracias anticipadas.

SplinterGU
10/05/2010, 02:45
cualquiera de estas

word
short
signed word
unsigned short

no recuerdo si todas las combinaciones funcionan bien en fenix... se que corregi muchas cosas en bennu...

masteries
10/05/2010, 11:15
Gracias SplinterGU.

SplinterGU
10/05/2010, 14:24
de nada...
;)

Drumpi
10/05/2010, 19:23
word seguro que funciona, short no estoy seguro, pero signed y unsigned puede que den algún problema, como pasaba con los float, porque se añadieron en la 0.84 casi deprisa y corriendo.
En Bennu, ni idea, yo sigo "fiel" a los tipos de Fenix... bueno más bien de DIV ^^U

PD: ojo, digo PUEDEN, no es seguro, lo mismo funciona sin más (estaría bien que probases y comentases).

SplinterGU
11/05/2010, 01:12
entonces vas mal, porque div no tiene todos los tipos que tiene fenix.

Drumpi
11/05/2010, 01:22
No, sólo byte, word, int, char y string aparte de las struct y type... y nunca he necesitado ningún otro tipo :D:D:D
Bueno, sí, una vez: con aquel experimento para hacer la FFT con Bennu, para leer datos de los WAV y hacer las cuentas de la FFT.

SplinterGU
11/05/2010, 04:32
nunca usaste float?

Drumpi
11/05/2010, 21:02
¿Con la de problemas que han dado desde que aparecieron? y no me refiero sólo a los problemas de precisión.
Siempre que he necesitado precisión he usado int con valores multiplicados por 1000. Es un poco más lento, pero más seguro :p