elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con float, no toman el valor que tienen que tomar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con float, no toman el valor que tienen que tomar  (Leído 1,372 veces)
Naimaderis

Desconectado Desconectado

Mensajes: 74



Ver Perfil
Problema con float, no toman el valor que tienen que tomar
« en: 16 Diciembre 2016, 03:33 am »

Estoy teniendo un problema con el lenguaje, algo, que no entiendo bien, el siguiente código, no para nunca:

Código
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5.    float y;
  6.  
  7.    for (y= 0.1; y != 1.0 ; y = y + 0.1){
  8.  
  9.        printf( "%f \n", y );
  10.  
  11.    }
  12.  
  13.    return 0;
  14. }

Ademas, los float que muestra cuando compilo tienen demaciados decimales, los cuales no se limitan a 0.1 , 0.2 , 0.3 sino por ejemplo 273.708489.

Siento que hay algo detras de todo esto, que no estoy comprendiendo.

Para observar mejor donde estaba el problema, le coloque esta linea:

Código
  1. if (y > 1)
  2.        {
  3.            break;
  4.        }

Me di cuenta, que "y" toma el valor 1, el cual se muestra como "1.0000000".

Probe con limitar los numeros que se muestran despues de la coma, pero aun asi, no funciono.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Problema con float, no toman el valor que tienen que tomar
« Respuesta #1 en: 16 Diciembre 2016, 03:42 am »

puede que no sea una respuesta directa pero aquí todo lo que hay que saber sobre los float inicialmente
https://es.wikipedia.org/wiki/Coma_flotante


puede que no sea puntual pero: es un problema de precisión


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines