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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Solucionado] Establecer la cantidad de dígitos a la derecha de la coma [C]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado] Establecer la cantidad de dígitos a la derecha de la coma [C]  (Leído 8,562 veces)
kondrag_X1

Desconectado Desconectado

Mensajes: 157


Ver Perfil
Re: Establecer la cantidad de dígitos a la derecha de la coma [lenguaje C]
« Respuesta #20 en: 18 Enero 2016, 19:12 pm »

Siento mucho decirte que si te quieres complicar vas a tener que trabajar a nivel de bit con el estándar IE754, no es complicado separas parte entera mantisa y exponente y sacas los datos.


En línea

NOB2014


Desconectado Desconectado

Mensajes: 366



Ver Perfil
Re: Establecer la cantidad de dígitos a la derecha de la coma [lenguaje C]
« Respuesta #21 en: 19 Enero 2016, 00:48 am »

Hola, Yoel Alejandro. -
Estebe haciendo muchas pruebas y el resultado es siempre correcto, solo falla cuando introduzco más de 9 dígitos a la derecha de la coma, pero eso no es inpedimento y en todo caso se puede limitar. -
kondrag_X1 voy a informarme sobre lo que propones porque me quede muy intrigado, no sé por dónde empezar. -

Saludos.


En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
Yoel Alejandro

Desconectado Desconectado

Mensajes: 254



Ver Perfil WWW
Re: Establecer la cantidad de dígitos a la derecha de la coma [lenguaje C]
« Respuesta #22 en: 19 Enero 2016, 14:05 pm »

NOB2014, puedes aumentar la precisión cambiando en donde dice FLT_EPSILON por la constante DBL_EPSILON

En este caso cambias del épsilon de la máquina para punto flotante al épsilon para precisión doble. Creo que al manejar más de nueve decimales estás considerando una precisión doble, por eso requieres DBL_EPSILON

Saludos, Yoel
En línea

Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)
NOB2014


Desconectado Desconectado

Mensajes: 366



Ver Perfil
Re: Establecer la cantidad de dígitos a la derecha de la coma [lenguaje C]
« Respuesta #23 en: 19 Enero 2016, 14:27 pm »

Hola, Yoel.
Maravilloso, posibilita un máximo de 14 dígitos, más que suficiente. -

Saludos.
Daniel
En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
furciorifa

Desconectado Desconectado

Mensajes: 94


Ver Perfil
Re: [Solucionado] Establecer la cantidad de dígitos a la derecha de la coma [C]
« Respuesta #24 en: 30 Enero 2016, 23:15 pm »

Por fin he solucionado lo que querías amigo y sí hay una forma estándar y sencilla de hacerlo te paso mi código y espero que te guste sigue las instrucciones, te pido por favor que me envies un mensaje si te funciono es para cuestiones estadísticas que llevo
Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. int main()
  5. {
  6.   div_t d;
  7.   int num, denom;
  8.   double aux;
  9.   printf( "Escriba el numerador y el denominador (separados por un espacio):\n" );
  10.   scanf( "%d %d", &num, &denom );
  11.   d = div( num, denom );
  12.    aux=d.rem/(double)denom;
  13.   printf( "ldiv( %d, %d ) : cociente = %d, resto = %f\n", num, denom, d.quot, aux );
  14.  
  15.   return 0;
  16. }

Espero que me contestes



Esta solución permite 30 decimales !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) :silbar: :silbar: :silbar:


Código
  1.  
  2.  
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5.  
  6. int main()
  7. {
  8.   div_t d;
  9.   int num, denom;
  10.   double aux;
  11.   printf( "Escriba el numerador y el denominador (separados por un espacio):\n" );
  12.   scanf( "%d %d", &num, &denom );
  13.   d = div( num, denom );
  14.    aux=d.rem/(double)denom;
  15.   printf( "ldiv( %d, %d ) : cociente = %d, resto = %.30lf\n", num, denom, d.quot, aux );
  16.  
  17.   return 0;
  18. }
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
« Última modificación: 31 Enero 2016, 00:09 am por Eternal Idol » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: [Solucionado] Establecer la cantidad de dígitos a la derecha de la coma [C]
« Respuesta #25 en: 30 Enero 2016, 23:54 pm »

De esos decimales, solo 15 son reales.
En línea

furciorifa

Desconectado Desconectado

Mensajes: 94


Ver Perfil
Re: [Solucionado] Establecer la cantidad de dígitos a la derecha de la coma [C]
« Respuesta #26 en: 31 Enero 2016, 04:39 am »

De esos decimales, solo 15 son reales.
Así es jeje no me fije, pero ya con una variable más grande tiene más precisión, un long double, me parece, de cualquier forma creo que mi solución es la que parece más eficaz no sé qué le parezca al dueño del post.
En línea

Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOLUCIONADO] Establecer detalles de un EXE
Programación Visual Basic
aaronduran2 5 5,901 Último mensaje 2 Septiembre 2009, 15:37 pm
por aaronduran2
[Python] - Cantidad de Dígitos
Scripting
ChicoMaravilla 4 14,811 Último mensaje 7 Diciembre 2010, 02:31 am
por lnvisible
Establecer ruta con nircmd(solucionado)
Scripting
Dark Invader 3 2,880 Último mensaje 6 Agosto 2011, 22:17 pm
por SuperDraco
[SOLUCIONADO] Permitir solo una coma en un textbox
.NET (C#, VB.NET, ASP)
Eleкtro 4 5,724 Último mensaje 15 Enero 2013, 16:48 pm
por Eleкtro
limitando cantidad de digitos en jtextfield Netbeans
Java
jelsir 3 3,044 Último mensaje 30 Julio 2016, 22:41 pm
por Once
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines