Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ThronerAXE en 20 Diciembre 2013, 00:39 am



Título: Problema sencillo de una salida tipo Float en C++
Publicado por: ThronerAXE en 20 Diciembre 2013, 00:39 am
este programita sencillito, por ejemplo en si yo le ingresara una sifra mayor a 7 digitos(ej: 1234567) el programa da como salida 1.23457e+06 y si lo cambio a tipo double sucede lo mismo. ¿ que puedo hacer en esos casos ?

Código
  1. #include <iostream.h>
  2. int main()
  3. {      double x;
  4.       cout<<"Ingrese el valor de X: ";
  5.       cin>>x;
  6.       cout<<endl<<"usted ingreso "<<x<<endl;
  7.       system("pause");
  8.        return 0;
  9. }


Título: Re: Problema sencillo de una salida tipo Float en C++
Publicado por: leosansan en 20 Diciembre 2013, 01:33 am
La salida es la clásica notación científica para un double de ese tamaño, sólo hasta seis cifras un float o double salen como entero y para mayores cifras usa la mencionada notación científica. Si lo cambias como INT te saldrá 1234567.

Saluditos! ..... !!!!        (http://st.forocoches.com/foro/images/smilies/aaaaa.gif)



Título: Re: Problema sencillo de una salida tipo Float en C++
Publicado por: ThronerAXE en 20 Diciembre 2013, 01:48 am
osea que no se pueden ingresar cifras muy altas ? porque si por ejemplo, lo cambiara a tipo int o long y le ingreso un numero de 10 cifras sale un resultado loco


Título: Re: Problema sencillo de una salida tipo Float en C++
Publicado por: leosansan en 20 Diciembre 2013, 02:29 am
osea que no se pueden ingresar cifras muy altas ? porque si por ejemplo, lo cambiara a tipo int o long y le ingreso un numero de 10 cifras sale un resultado loco

Sí se pueden ingresar cifras muy altas, pero en formato float o double con la consiguiente notación exponencial. Otra cosa es la limitación de los enteros.

En mi máquina el entero máximo es  2147483647. Lo puedes consultar en la librería climits.

De todas formas en C se puede controlar el número de cifras significativas y decimales, pero no sé como sería en C++.


Saluditos! ..... !!!!        (http://st.forocoches.com/foro/images/smilies/aaaaa.gif)


Título: Re: Problema sencillo de una salida tipo Float en C++
Publicado por: rir3760 en 20 Diciembre 2013, 03:14 am
este programita sencillito, por ejemplo en si yo le ingresara una sifra mayor a 7 digitos(ej: 1234567) el programa da como salida 1.23457e+06 y si lo cambio a tipo double sucede lo mismo. ¿ que puedo hacer en esos casos ?
No veo el problema ya que el numero almacenado es el correcto. Tema aparte es el formato de impresión, en C++ utilizas los manipuladores fixed (http://www.cplusplus.com/reference/ios/fixed/) y scientific (http://www.cplusplus.com/reference/ios/scientific/) para ese propósito.

Un saludo