Domingo 22 de Diciembre de 2024, 07:23
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Exactitud De Flotantes
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Exactitud De Flotantes (Leído 2520 veces)
avis_phoenix
Miembro activo
Mensajes: 96
Nacionalidad:
Exactitud De Flotantes
«
en:
Miércoles 31 de Agosto de 2005, 04:49 »
0
Pues eso cómo definir la exactitud de lso floats, mmm ya sé %.xf, mm planteo difernete la regunta va?
¿Cómo puedo definir la exactitud de puntos decimas que voy a usar en la variable para las operaciones, cómo defino que imprima en pantalla el valor con un valor sin redondear?
En visual C++, con stdio.h
Tweet
"La envidia en los hombres muestra cuán desdichados se sienten, y su constante atención a lo que hacen o dejan de hacer los demás, muestran cuánto se aburren." "Las religiones, como las luciérnagas, necesitan de oscuridad para brillar." "Los hombres vulgares han inventado la vida en sociedad porque les es más fácil soportar a los demás que soportarse a sí mismos." "Sólo es libre aquello que existe por las necesidades de su propia naturaleza y cuyos actos se originan exclusivamente dentro de sí." "La experiencia nos ha demostrado que a la persona no le resulta nada más difícil de dominar que su lengua." "La madurez del hombre es haber vuelto a encontrar la seriedad con la que jugaba cuando era niño." "Los monos son demasiado buenos para que el hombre pueda descender de ellos." "El hombre, en su orgullo, creó a Dios a su imagen y semejanza" "Lo que hacemos no es nunca comprendido, y siempre es acogido sólo por los elogios o por la crítica."
Diodo
Moderador
Mensajes: 658
Re: Exactitud De Flotantes
«
Respuesta #1 en:
Miércoles 31 de Agosto de 2005, 10:03 »
0
Hola
No entiendo muy bien ....., si puedes poner un ejemplo claro de lo que pides
salu2
http]
Empty your memory,
with a free()...
like a pointer!
If you cast a pointer to a integer,
it becomes the integer,
if you cast a pointer to a struct,
it becomes the struct...
The pointer can crash...,
and can Overflow...
Be a pointer my friend...
avis_phoenix
Miembro activo
Mensajes: 96
Nacionalidad:
Re: Exactitud De Flotantes
«
Respuesta #2 en:
Miércoles 31 de Agosto de 2005, 13:04 »
0
Pues pro ejemplo quiero hacer una divición de 5/3=x y pues de los puntos decimales uqe salgan quiero solo usar 3 para la siguietne operación 5/x y de los que resulte = quiero usar solo 3 o 6 de los puntos decimales que salgan pero sin redondear, es decir solo cortar tal cual lso puntos decimales si es 0.135999999 no queiro usar 0.136 si no 0.135 o 0.138999 así tal cual, y en la otra pregunta es casi lo mismo, quiero imprimir en pantalla (printf o cout o el qeu sea necesario) lo mismo que me imprima solo el numero de decimales que quiero sin que redondee no quiero 0.136 si no 0.135999, pero a la hora de imprimir ya no en manejo de variables.
¿Se puede?, ¿cómo?
"La envidia en los hombres muestra cuán desdichados se sienten, y su constante atención a lo que hacen o dejan de hacer los demás, muestran cuánto se aburren." "Las religiones, como las luciérnagas, necesitan de oscuridad para brillar." "Los hombres vulgares han inventado la vida en sociedad porque les es más fácil soportar a los demás que soportarse a sí mismos." "Sólo es libre aquello que existe por las necesidades de su propia naturaleza y cuyos actos se originan exclusivamente dentro de sí." "La experiencia nos ha demostrado que a la persona no le resulta nada más difícil de dominar que su lengua." "La madurez del hombre es haber vuelto a encontrar la seriedad con la que jugaba cuando era niño." "Los monos son demasiado buenos para que el hombre pueda descender de ellos." "El hombre, en su orgullo, creó a Dios a su imagen y semejanza" "Lo que hacemos no es nunca comprendido, y siempre es acogido sólo por los elogios o por la crítica."
Diodo
Moderador
Mensajes: 658
Re: Exactitud De Flotantes
«
Respuesta #3 en:
Miércoles 31 de Agosto de 2005, 14:20 »
0
Hola, no se si existira algun metodo para hacerlo directamente.Le estuve dando vueltas y saque esta forma de hacerlo manualmente.Es un poco engorrosa pero va bien
Código: Text
void main()
{
float num_dec=1000; //numero de decimales que quieres tomar(tantos ceros como decimales)
float x=23;
float y=12;
float z=x/y;
printf("resultado de la division %f\n",z);
int entero=(int)z; // cojo la parte entera
float decimal=z-entero; // cojo la parte decimal
printf("parte decimal del resultado %f\n",decimal);
int num=num_dec*decimal; // multiplico la parte decimal por el numero de decimales que queremos y lo paso a int
printf("los decimales que nos interesan %i\n",num);
float solucion=entero+(1/num_dec)*num; // recompongo el numero con los decimales que queremos
printf("solucion final %.3f\n",solucion); // la solucion que querias
}
Puedes apañarla un poco y meterla en una funcion en la que le pases el numero decimal y el numero de decimales a tomar y que te devuelva el float con los decimales ya apañados.Al numero de decimales a tomar deberias aplicarlo como exponente en una potencia de base 10 para conseguir la variable num_dec del ejemplo
Espero que te sirva
salu2
http]
Empty your memory,
with a free()...
like a pointer!
If you cast a pointer to a integer,
it becomes the integer,
if you cast a pointer to a struct,
it becomes the struct...
The pointer can crash...,
and can Overflow...
Be a pointer my friend...
avis_phoenix
Miembro activo
Mensajes: 96
Nacionalidad:
Re: Exactitud De Flotantes
«
Respuesta #4 en:
Miércoles 31 de Agosto de 2005, 23:50 »
0
mmm que crees?? pues ya lo probe parecia que si funcionaba pero lo estuve probando coin valores medios raros, y pues no resulto, mira aca esta el codigo tal cual lo modifique si ves solo cambie el numero de decimales que quería y los valores de x y y
Código: Text
void main()
{
float num_dec=1000000; //numero de decimales que quieres tomar(tantos ceros como decimales)
float x=3;
float y=164.9999;
float z=x/y;
printf("resultado de la division %f\n",z);
int entero=(int)z; // cojo la parte entera
float decimal=z-entero; // cojo la parte decimal
printf("parte decimal del resultado %f\n",decimal);
int num=num_dec*decimal; // multiplico la parte decimal por el numero de decimales que queremos y lo paso a int
printf("los decimales que nos interesan %i\n",num);
float solucion=entero+(1/num_dec)*num; // recompongo el numero con los decimales que queremos
printf("solucion final %.3f\n",solucion); // la solucion que querias
}
y resulto:
resultado de la division 0.018182
parte decimal del resultado 0.018182
los decimales que nos interesan 18181
solucion final 0.018
"La envidia en los hombres muestra cuán desdichados se sienten, y su constante atención a lo que hacen o dejan de hacer los demás, muestran cuánto se aburren." "Las religiones, como las luciérnagas, necesitan de oscuridad para brillar." "Los hombres vulgares han inventado la vida en sociedad porque les es más fácil soportar a los demás que soportarse a sí mismos." "Sólo es libre aquello que existe por las necesidades de su propia naturaleza y cuyos actos se originan exclusivamente dentro de sí." "La experiencia nos ha demostrado que a la persona no le resulta nada más difícil de dominar que su lengua." "La madurez del hombre es haber vuelto a encontrar la seriedad con la que jugaba cuando era niño." "Los monos son demasiado buenos para que el hombre pueda descender de ellos." "El hombre, en su orgullo, creó a Dios a su imagen y semejanza" "Lo que hacemos no es nunca comprendido, y siempre es acogido sólo por los elogios o por la crítica."
Diodo
Moderador
Mensajes: 658
Re: Exactitud De Flotantes
«
Respuesta #5 en:
Jueves 1 de Septiembre de 2005, 00:08 »
0
Hola
Debes cambiar el numero de dedimales a mostrar o simplemente poner %f
Código: Text
printf("solucion final %.3f\n",solucion); // la solucion que querias
Lo puse porque si no quedaria asi
por ejemplo 1,235422 con 3 decimales queda asi 1,2350000 es lo mismo pero queda mejor para mostrarlo
salu2
http]
Empty your memory,
with a free()...
like a pointer!
If you cast a pointer to a integer,
it becomes the integer,
if you cast a pointer to a struct,
it becomes the struct...
The pointer can crash...,
and can Overflow...
Be a pointer my friend...
avis_phoenix
Miembro activo
Mensajes: 96
Nacionalidad:
Re: Exactitud De Flotantes
«
Respuesta #6 en:
Jueves 1 de Septiembre de 2005, 03:43 »
0
que novatada XD si es cierrto perdón se me salio no me fije pensé que todos eran %f XD oks Gracias
"La envidia en los hombres muestra cuán desdichados se sienten, y su constante atención a lo que hacen o dejan de hacer los demás, muestran cuánto se aburren." "Las religiones, como las luciérnagas, necesitan de oscuridad para brillar." "Los hombres vulgares han inventado la vida en sociedad porque les es más fácil soportar a los demás que soportarse a sí mismos." "Sólo es libre aquello que existe por las necesidades de su propia naturaleza y cuyos actos se originan exclusivamente dentro de sí." "La experiencia nos ha demostrado que a la persona no le resulta nada más difícil de dominar que su lengua." "La madurez del hombre es haber vuelto a encontrar la seriedad con la que jugaba cuando era niño." "Los monos son demasiado buenos para que el hombre pueda descender de ellos." "El hombre, en su orgullo, creó a Dios a su imagen y semejanza" "Lo que hacemos no es nunca comprendido, y siempre es acogido sólo por los elogios o por la crítica."
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Exactitud De Flotantes