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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa para pasar de numero decimal a coma flotante
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa para pasar de numero decimal a coma flotante  (Leído 8,963 veces)
sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Programa para pasar de numero decimal a coma flotante
« en: 13 Marzo 2013, 17:25 pm »

Tengo que hacer un programa que transforme un decimal muy grande a coma flotante, es para un proyecto de clase pero no tengo ni papa de que es lo que me piden...



Citar
La notación científica es usada para representar números reales. Siendo r el número real a representar, la representación en notación científica está compuesta de tres partes:


r=c * b^e

  • c. El coeficiente, conformado por un número real con un solo dígito entero seguido de una coma (o punto) y de varios dígitos fraccionarios.
  • b. La base, que en nuestro sistema decimal es 10, y en el sistema binario de los computadores es 2.
  • e. El exponente entero, el cual eleva la base a una potencia


Agradecería una ayudita ;)


Gracias!


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Programa para pasar de numero decimal a coma flotante
« Respuesta #1 en: 13 Marzo 2013, 20:40 pm »

Lo unico que tienes que hacer es pasar un numero a notación científica:

Citar
1,5x10^3

Para ello, divide entre diez hasta que te quede un numero menor que 10. La cantidad de veces que dividas será el exponente del 10^


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
pacoperico

Desconectado Desconectado

Mensajes: 100


Ver Perfil
Re: Programa para pasar de numero decimal a coma flotante
« Respuesta #2 en: 13 Marzo 2013, 20:44 pm »

Intenta hacer primero una version de tu programa para que podamos ayudarte a resolver los problemas que te vayan saliendo.
En línea

85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Programa para pasar de numero decimal a coma flotante
« Respuesta #3 en: 15 Marzo 2013, 03:02 am »

Mirá esto no es lo que vos estás pidiendo, pero te puede dar alguna idea:

Código
  1.  
  2. //
  3. // By 85
  4. // elhacker.net
  5. // etalking.com.ar
  6. // 2013
  7. //
  8.  
  9. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  10.  
  11. #pragma warning(disable: 4244)
  12. #pragma warning(disable: 4390)
  13. #include<windows.h> // SYSTEM (stdlib.h)
  14. #include<stdio.h>
  15. #include"ascii.h"
  16.  
  17. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  18.  
  19. void Factorizar(int num){
  20.  
  21. int copia= num, m = 1, cifras = 1;
  22. for(;copia>=10;copia/=10) cifras++;
  23. for(int x=0;x<(cifras-1);x++) m*=10;
  24. float v1=num;
  25. int v2=0, v3=num;
  26. for(int i=0; i<cifras; i++){//Descompone en factores
  27.  
  28. printf("%f\n",v1);
  29. system("pause");
  30. v1/=m;
  31. v2=(int)v1*m;
  32. v3-=v2;
  33. m/=10;
  34. v1=v3;
  35. }
  36. }
  37.  
  38. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  39.  
  40. void IngresoInt(){
  41.  
  42. int n;
  43. printf("Ingrese un número\n");
  44. scanf("%d",&n);
  45. Factorizar(n);
  46. }
  47.  
  48. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  49.  
  50. void Factorizar2(char* num){//TODO: Comprobación de ingreso no válido (ver ascii.h)
  51.  
  52. int sig=0;
  53. if((sig=num[0]=='+')||(sig=num[0]=='-'));
  54. int len=strlen(num);
  55. int ac=0, v1, cifras = len,m = 1;
  56. for(int x=0;x<((cifras-1)-sig);x++) m*=10;
  57. for(int i=sig;i<cifras;i++){//Factoriza y acumula
  58. v1=num[i]-'0';
  59. v1*=m;
  60. printf("%d\n",v1);
  61. system("pause");
  62. ac+=v1;
  63. m/=10;
  64. }
  65. printf("%d\n",ac);
  66. system("pause");
  67. }
  68.  
  69. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  70.  
  71. void IngresoString(){
  72.  
  73. char n[256];
  74. printf("Ingrese un número\n");
  75. scanf("%s",n);
  76. Factorizar2(n);
  77. }
  78.  
  79. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  80.  
  81. int main(){
  82.  
  83. IngresoInt();
  84. //IngresoString();
  85. system("pause");
  86. return 0;
  87. }
  88.  
  89. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  90.  
  91.  
http://www.mediafire.com/?2or6l2m3p9jqzwa

otra cosa, es que si tenés que exponenciar consideres usar la función POW, aunque podés safar de usarla si querés hacer como en estas funciones mías.

88
 

« Última modificación: 15 Marzo 2013, 03:35 am por 85 » En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Programa para pasar de numero decimal a coma flotante
« Respuesta #4 en: 15 Marzo 2013, 03:22 am »

Hola, chicos, quiero compartir mi experiencia de compra en línea. Compré muchos productos de diferentes tiendas en línea. pero sólo una tienda profundamente en mis recuerdos. cómo expresar mis sentimientos? nada que decir. perfecto! También me acuerdo de lo que he comprado. que es de 4,7 pulgadas Android 4.1 Smartphone i9300. es de dos años. pero ahora todavía lo utilizan. siguen funcionando bien. toque flexible, píxeles, velocidad de internet súper rápido. ritmo alarmante aprender nuevos juegos. en ese momento me compré muy caro. pero ahora de vez en cuando ver este teléfono en un blog. Yo estaba tan sorprendido. todas las funciones son las mismas, pero su caída de precios de 100 €. tan increíble. así que hoy me decido a comprar uno nuevo. muy vale la pena! realmente perfecto! mientras tanto se lo recomiendo a todo el mundo. si necesitas un smartphone, esta es tu mejor opción. no tengas duda! comprar ahora mismo:    http://baseurl.de/t8

baaaaaaaaaaaannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn!
es un bot
En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Programa para pasar de numero decimal a coma flotante
« Respuesta #5 en: 15 Marzo 2013, 04:28 am »

baaaaaaaaaaaannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn!
es un bot
Cuando eso suceda no cites el spam (incluyendo el vinculo). En su lugar deja que los moderadores hagan su trabajo (si no te molesta cuando detectes un mensaje como ese puedes enviarles un MP).

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Re: Programa para pasar de numero decimal a coma flotante
« Respuesta #6 en: 5 Abril 2013, 14:22 pm »

Gracias por la ayuda, me lo estuve mirando y encontré esto:

Código
  1. // modify floatfield
  2. #include <iostream>     // std::cout, std::fixed, std::scientific
  3.  
  4. int main () {
  5.  double a = 3.1415926534;
  6.  double b = 2006.0;
  7.  double c = 1.0e-10;
  8.  
  9.  std::cout.precision(5);
  10.  
  11.  std::cout << "default:\n";
  12.  std::cout << a << '\n' << b << '\n' << c << '\n';
  13.  
  14.  std::cout << '\n';
  15.  
  16.  std::cout << "fixed:\n" << std::fixed;
  17.  std::cout << a << '\n' << b << '\n' << c << '\n';
  18.  
  19.  std::cout << '\n';
  20.  
  21.  std::cout << "scientific:\n" << std::scientific;
  22.  std::cout << a << '\n' << b << '\n' << c << '\n';
  23.  return 0;
  24. }


Resultado:

default:
3.1416
2006
1e-010

fixed:
3.14159
2006.00000
0.00000

scientific:
3.14159e+000
2.00600e+003
1.00000e-010




Esto sería correcto cuando lo pasa a notación cientifica ?


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Programa para pasar de numero decimal a coma flotante
« Respuesta #7 en: 5 Abril 2013, 19:15 pm »



Esto sería correcto cuando lo pasa a notación cientifica ?



Justito es lo correcto.

Saluditos!. ....
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
operaciones con numero de coma flotante
Java
tobu 3 5,070 Último mensaje 26 Marzo 2009, 14:50 pm
por juancho77
duda javame. funcion para imprimir un numero flotante con pocos decimales
Java
josco 6 7,875 Último mensaje 30 Septiembre 2009, 12:33 pm
por egyware
Lo que todo programador debería saber sobre la aritmética de coma flotante
Programación General
Carloswaldo 5 5,164 Último mensaje 10 Mayo 2010, 22:38 pm
por Hack210
Ayuda operaciones con coma flotante.
Programación Visual Basic
LS 2 2,042 Último mensaje 10 Mayo 2010, 07:33 am
por LS
¿Cual es el limite de un numero con punto flotante (en programacion)?
Foro Libre
danielo- 4 7,883 Último mensaje 16 Septiembre 2010, 01:49 am
por Franki
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines