Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda sobre variable float

Estas en el tema de Duda sobre variable float en el foro de C/C++ en Foros del Web. Hola que tal, soy completamente nuevo en C y estoy aprendiendo sobre las variables. Resulta que me encontre con este dato curioso cuando declaro las ...
  #1 (permalink)  
Antiguo 23/09/2011, 14:12
Avatar de rafa_yael  
Fecha de Ingreso: mayo-2010
Ubicación: Zapotlanejo, Mexico
Mensajes: 54
Antigüedad: 13 años, 11 meses
Puntos: 4
Duda sobre variable float

Hola que tal, soy completamente nuevo en C y estoy aprendiendo sobre las variables.

Resulta que me encontre con este dato curioso cuando declaro las variables float. Al darles el valor e imprimirlo sobre pantalla, siempre cambia por lo menos un digito o una sucecion de ellos. Uso el siquiente codigo






Código C:
Ver original
  1. #include <stdio.h>
  2. #include <windows.h>
  3.  
  4. int main() {
  5.    
  6.    
  7.     float num_dec   = 20.20;
  8.     float num_dec1 = 51.21;
  9.    
  10.     printf("\n\n El valor de num_dec es %f\n",num_dec);
  11.     printf("\n El valor de num_dec exponecial es %e\n\n",num_dec);
  12.     printf("\n\n El valor de num_dec es %f\n",num_dec1);
  13.     printf("\n El valor de num_dec exponecial es %e\n\n",num_dec1);
  14.     system("PAUSE");
  15.     return 0;
  16.  
  17. }

Esto me da como resultado:


Cita:
El valor de num_dec es 20.200001

El valor de num_dec exponecial es 2.020000e+001



El valor de num_dec es 51.209999

El valor de num_dec exponecial es 5.121000e+001

Presione una tecla para continuar . . .
Lo que se me hace raro es el cambio de valor de los valores despues del punto. ¿Esto es normal o me puede perjudicar en futuros calculos que ocupe hacer con la variable?
  #2 (permalink)  
Antiguo 23/09/2011, 15:52
 
Fecha de Ingreso: enero-2011
Mensajes: 33
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Duda sobre variable float

Al tu no ponerle limite te mostrara lo que el Considera como "Final" de un float(Alguien me corrija si me equivoco), esto se resuelve poniendole al %2.2f al operdor %f, Saludos!

Etiquetas: float, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:21.