Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Fede on December 20, 2010, 06:53:32 AM

Title: Dudas con las conversiones de tipos.
Post by: Fede on December 20, 2010, 06:53:32 AM
Güenaaaas.

Tras 3 días de partime los cuernos con un algoritmo de dither "Floyd–Steinberg", me he dado cuenta de que fallaba por esto:

float fValor=7/16;

Resulta que esto hace que fValor valga 0.

Tengo que poner:

float fValor=7.0/16.0;

Para que funcione.

¿Esto es normal?

Si es así: ¿Algún sitio donde se hable de la conversión de tipos en bennu?


Muuuuuuuuuuuchas graciaaaaaaas.
Title: Re: Dudas con las conversiones de tipos.
Post by: SplinterGU on December 20, 2010, 06:59:12 AM
eso es correcto porque ambos numeros son enteros, al menos 1 tiene que ser float para que te de float la operacion.
Title: Re: Dudas con las conversiones de tipos.
Post by: Fede on December 20, 2010, 10:29:59 AM
Gracias Splinter.  :-*
Title: Re: Dudas con las conversiones de tipos.
Post by: blostec on December 21, 2010, 12:49:07 PM
Fede quizás esto te ayude a comprender como funciona:

Quote
Un detalle muy importante que hay que tener en lo que respecta a estas operaciones aritméticas básicas es que el tipo de datos del resultado (int, word, byte, float...) vendrá dado por el tipo de datos de los operandos. Es decir, que una suma de dos números Int dará un Int, la multiplicación de dos números Float dará un Float, etc. Esto es especialmente delicado cuando estamos realizando estas operaciones (división, multiplicación, etc) entre números decimales y sin darnos cuenta asignamos el resultado a una variable de tipo entera. Lo que ocurrirá es que el resultado se trunca sin redondear, por lo que si éste era por ejemplo 32.94, se convertirá en un 32; si era un 86.351 será un 86.

Cuando un operando es de un tipo (por ejemplo, byte) y el otro operando es de otro tipo (por ejemplo, int), el tipo del resultado será siempre igual a aquél tipo de los dos que esté por encima dentro de la jerarquía siguiente:
float>dword>int>word>short>byte

fuente: Manual de BennuGD escrito por Osk, pagina 37

Tipos de datos en Bennu vía Wiki: Datatypes (http://wiki.bennugd.org/index.php?title=Datatypes)
Title: Re: Dudas con las conversiones de tipos.
Post by: SplinterGU on December 21, 2010, 04:34:20 PM
como informacion adicional, eso tambien pasa en C.