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

divicion de numeros en c

Estas en el tema de divicion de numeros en c en el foro de C/C++ en Foros del Web. buenas soy nuevo aca, me gustaria que me ayuden para dividir numeros mostrando el cociente con n numero de decimales, soy nuevo programando en c ...
  #1 (permalink)  
Antiguo 27/05/2012, 18:04
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta divicion de numeros en c

buenas soy nuevo aca, me gustaria que me ayuden para dividir numeros mostrando el cociente con n numero de decimales, soy nuevo programando en c nose mucho xD, pero con float y double solo e alcanzado asta 10 decimales pero demas nada. con float solo imprimo de a 6 xd por ejemplo 5/3 me lanza 1,666667. este codigo use
#include<stdio.h>
#include<stdlib.h>
int main ()
{
float dividendo, divisor, cociente;
printf("programa para dividir \n");
printf("ingrese el primer numero \n");
scanf("%f",&dividendo);
printf("ingrese el segundo numero \n");
scanf("%f",&divisor);
cociente=dividendo/divisor;
printf("%f \n",cociente);
system("pause");
}
la cosa esque quiero que imprima muchos decimales. cosa de que sea mas exacto. si me podian ayudar porfavor.
  #2 (permalink)  
Antiguo 27/05/2012, 18:19
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: divicion de numeros en c

Mira esta pagina te enseña como usar bien el prinft.
http://www.cplusplus.com/reference/c...cstdio/printf/

Y tiene un par de ejemplos
  #3 (permalink)  
Antiguo 27/05/2012, 19:18
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: divicion de numeros en c

que significa punto flotante decimal? a q se refiere flotante?
  #4 (permalink)  
Antiguo 28/05/2012, 16:14
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: divicion de numeros en c

bueno estube viendo eso y ahora me da algunos decimales mas, use este codigo ahora pero me muestra 16 decimales y el resto solo rellena con 0

#include<stdio.h>
#include<stdlib.h>
int main ()
{
float dividendo, divisor, cociente;
printf("programa para dividir \n");
printf("ingrese el primer numero \n");
scanf("%f",&dividendo);
printf("ingrese el segundo numero \n");
scanf("%f",&divisor);
cociente=dividendo/divisor;
printf("%.300f \n",cociente);
system("pause");
}
ayudame porfa xD esto me esta complicando
  #5 (permalink)  
Antiguo 28/05/2012, 17:10
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: divicion de numeros en c

que tengas 10, 20, 100, etc decimales no hace que el valor del float o double sea mas exacto...una de las primeros principios en C/C++ sobre tipo de datos float y double es que nunca son exactos..., por ello se usa floor o ceil para redondear e intentar lograr una mayor exactitud...mas decimales tenes, menos exacto es...y ni hablar si son infinitos...un ejemplo de uso frecuente..el valor de PI...que usas? 3, 14? o 3.1415161718192021222324252627...???...crees que usando 3.1415161718192021222324252627... es mas exacto?
  #6 (permalink)  
Antiguo 28/05/2012, 19:06
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: divicion de numeros en c

Otro problema es que el tipo de datos float o double no tienen la capacidad para almacenar tantos digitos.
  #7 (permalink)  
Antiguo 28/05/2012, 20:24
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: divicion de numeros en c

mmm y existe algun tipo de dato q pueda almacenar tanto digito? o tendria q aser q me muestre por partes?
  #8 (permalink)  
Antiguo 28/05/2012, 21:55
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 3 meses
Puntos: 94
Respuesta: divicion de numeros en c

Double es el tipo de dato mas preciso para los numeros con decimales, no hay otro en C. Lo que no entiendo es por que tanta vuelta por algo simple ¿necesitas calcular algo importante??

Saludos

PD: me olvidaba del modificador long. Proba con long double, haber si sucede algo
  #9 (permalink)  
Antiguo 29/05/2012, 01:51
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: divicion de numeros en c

El tipo float te va a dar una precisión de 7-8 cifras. El tipo double te va a dar una precisión de 15-16 cifras. Si le dices que imprima con 300 cifras decimales (como has hecho en el ejemplo que has posteado), te imprimirá ceros una vez que haya llegado a esos 16 dígitos.

Si quieres más precisión, tienes varias opciones:

1. Buscar librerías de mayor precisión, pero puede ser un poco complicado emplearlas si, como dices, eres nuevo en C.

2. Algunos compiladores C tienen un tipo llamado qfloat de 384 bits (unos 100 dígitos de precisión). Por ejemplo, Lcc-Win32. Si te decides a probar, mira bien las ayudas, porque las funciones para entrada/salida de datos (scanf/printf) para este tipo son distintas.

Cita:
PD: me olvidaba del modificador long. Proba con long double, haber si sucede algo
El tipo long double depende de la implementación. Puede que, simplemente, sea similar al tipo double, puede ser un tipo de 128 bits (en lugar de los 64 del double), o puede ser algún tipo más particular. Por ejemplo, en los antiguos compiladores Turbo C para MSDOS de Borland, el tipo long double correspondía al tipo interno del procesador de coma flotante (80 bits, 10 bytes), mientras que en los compiladores Micro$oft C era lo mismo que utilizar double.

Etiquetas: int, numeros, programa
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 16:59.