¿Loco?

(1/4) > >>

Komodo:
Código
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
 
 
int main(){
   float a=5/2;
printf("%f",a);
return 0;
}

Output:
Citar

2.000000
Process returned 0 (0x0)   execution time : 0.062 s
Press any key to continue.


Madre mia, llevo dos dias de finde sin dormir y nose que me pasa..haber si mañana me aclaro, bueno mi duda principal es orque sale 2 y no: "2.5" ¿??¿?¿?¿?

SAludosss

Littlehorse:
Porque estas dividiendo dos enteros:

Código
float a=5/2.0;

o

Código
float a=5/(float)2;

Cualquiera de las dos formas debería funcionar.

Saludos

PD: Usa títulos descriptivos para los posts.

biribau:
Código:

float a=5/2F;
creo recordar que también chuta
Código:

float a=5/2.0;
no lo he probado, pero 2.0 no se refiero al double?, da igual cast implícito pero bueno.

Littlehorse:
También se puede así:

Código
float a=5/2.;

Cita de: biribau en 25 Abril 2010, 23:30 pm

Código:

float a=5/2F;
creo recordar que también chuta
Código:

float a=5/2.0;
no lo he probado, pero 2.0 no se refiero al double?, da igual cast implícito pero bueno.


Las constantes de punto flotante siempre son double, el sufijo (u el cast) se utiliza en el caso que quieras especificar que sean float, pero se usa así:

Código
float a=5/2.0f;
Código
float a=5/2.f;

etc

Saludos

biribau:
Cita de: Littlehorse en 25 Abril 2010, 23:52 pm

Las constantes de punto flotante siempre son double, el sufijo (u el cast) se utiliza en el caso que quieras especificar que sean float, pero se usa así:

Pero cuando dices 2F, no es un float a cualquier nivel?, quiero decir que no hay cast en teoría, en cambio si dices float = 2.0; hay un cast implícito de double a float, aunque ya sé que el compilador el que sea lo optimizará, supongo que si lo compilasemos con cualquier cosa no habría un cast "real"...
Más concretamente yo siempre tuve la idea de que es un float a nivel de token, nunca he mirado el código del gcc, pero tendría bastante sentido, yaque se puede diferenciar de un double con una expresion regular.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente