Autor
|
Tema: Programa para pasar de numero decimal a coma flotante (Leído 9,338 veces)
|
sora_ori
Desconectado
Mensajes: 269
|
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... 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
Mensajes: 1.211
|
Lo unico que tienes que hacer es pasar un numero a notación científica: 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
|
|
|
|
pacoperico
Desconectado
Mensajes: 100
|
Intenta hacer primero una version de tu programa para que podamos ayudarte a resolver los problemas que te vayan saliendo.
|
|
|
En línea
|
|
|
|
85
|
Mirá esto no es lo que vos estás pidiendo, pero te puede dar alguna idea: // // By 85 // elhacker.net // etalking.com.ar // 2013 // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #pragma warning(disable: 4244) #pragma warning(disable: 4390) #include<windows.h> // SYSTEM (stdlib.h) #include<stdio.h> #include"ascii.h" //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void Factorizar(int num){ int copia= num, m = 1, cifras = 1; for(;copia>=10;copia/=10) cifras++; for(int x=0;x<(cifras-1);x++) m*=10; float v1=num; int v2=0, v3=num; for(int i=0; i<cifras; i++){//Descompone en factores printf("%f\n",v1); system("pause"); v1/=m; v2=(int)v1*m; v3-=v2; m/=10; v1=v3; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void IngresoInt(){ int n; printf("Ingrese un número\n"); scanf("%d",&n); Factorizar(n); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void Factorizar2(char* num){//TODO: Comprobación de ingreso no válido (ver ascii.h) int sig=0; if((sig=num[0]=='+')||(sig=num[0]=='-')); int len=strlen(num); int ac=0, v1, cifras = len,m = 1; for(int x=0;x<((cifras-1)-sig);x++) m*=10; for(int i=sig;i<cifras;i++){//Factoriza y acumula v1=num[i]-'0'; v1*=m; printf("%d\n",v1); system("pause"); ac+=v1; m/=10; } printf("%d\n",ac); system("pause"); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void IngresoString(){ char n[256]; printf("Ingrese un número\n"); scanf("%s",n); Factorizar2(n); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// int main(){ IngresoInt(); //IngresoString(); system("pause"); return 0; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
http://www.mediafire.com/?2or6l2m3p9jqzwaotra 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
|
|
|
|
85
|
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/t8baaaaaaaaaaaannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn! es un bot
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
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
Mensajes: 269
|
Gracias por la ayuda, me lo estuve mirando y encontré esto: // modify floatfield #include <iostream> // std::cout, std::fixed, std::scientific int main () { double a = 3.1415926534; double b = 2006.0; double c = 1.0e-10; std::cout.precision(5); std::cout << "default:\n"; std::cout << a << '\n' << b << '\n' << c << '\n'; std::cout << '\n'; std::cout << "fixed:\n" << std::fixed; std::cout << a << '\n' << b << '\n' << c << '\n'; std::cout << '\n'; std::cout << "scientific:\n" << std::scientific; std::cout << a << '\n' << b << '\n' << c << '\n'; return 0; }
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
Mensajes: 1.314
|
Esto sería correcto cuando lo pasa a notación cientifica ?
Justito es lo correcto.
Saluditos!. ....
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
operaciones con numero de coma flotante
Java
|
tobu
|
3
|
5,254
|
26 Marzo 2009, 14:50 pm
por juancho77
|
|
|
duda javame. funcion para imprimir un numero flotante con pocos decimales
Java
|
josco
|
6
|
8,126
|
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,536
|
10 Mayo 2010, 22:38 pm
por Hack210
|
|
|
Ayuda operaciones con coma flotante.
Programación Visual Basic
|
LS
|
2
|
2,215
|
10 Mayo 2010, 07:33 am
por LS
|
|
|
¿Cual es el limite de un numero con punto flotante (en programacion)?
Foro Libre
|
danielo-
|
4
|
8,120
|
16 Septiembre 2010, 01:49 am
por Franki
|
|