Mostrar un float o double

Nico -  
 Nico -
Hola.

¿Alguien podría hacerme un pequeño programa muy simple que use la función write para mostrar un float o double con signo o sin él?

Tipo, me gustaría mostrar un float a = -3.52.

Tengo un programa que hace este tipo de cosas, pero que solo funciona con ints.

Como no sé cómo están codificados los float y double... estoy un poco perdido.

Gracias de antemano.

11 respuestas

Nico
 
Ehm pero LOL, respuestas 6-7 años después :).

Es amable pero ya tengo mi título desde hace bastante tiempo, gracias igual ;).

además ya no sé cómo lo había hecho .... jeje
54
Bob
 
#include <stdio.h>
#include <stdlib.h>

signed int main()
{
float x;
x = -3.52;
printf("%f", x); // soit "%f" ou "%e" ou "%g"
return EXIT_SUCCESS;
}

Si ça t'intéresse les nombres à virgule flottante sont définis par la norme IEEE 754 fait une recherche et tu en sauras plus sur le codage de ces nombres en particulier leur précision. Il n'y a pas besoin de définir le signe car ils sont tous signés dans leur codage.
5
Nico
 
LOL, justamente no tenemos el derecho a printf, demasiado fácil...

El objetivo de nuestro ejercicio es precisamente volver a codificar el printf de la libC.
Por eso me gustaría rehacer la visualización de los float.
2
Bob
 
¿Con las manos también? :-D
1
Bob
 
Hacer C sin C es como codificar sin un teclado, así que a menos que te diviertas con las interrupciones en ASM, no veo cómo hacer un código estándar sin printf.
1
Nico
 
Y sin embargo... tengo que hacerlo.

¿De lo contrario, cómo puedo mostrar el carácter "%" con printf?

De hecho, busco una página de manual en francés si es posible, de las opciones de printf.
1
Bob
 
¿Te conviene?
1
Lifely
 
Ah Ah, la gente de Epitech está quemada a kilómetros :D

Bueno, entonces para los demás, informense sobre Epitech en lugar de decir que programar sin la librería C es nulo, es instructivo y ¡no podrás decir nada!!

¡Refactura tantas funciones del sistema como nosotros y entonces podremos hablar!!
No creo que sigáis teniendo la misma forma de pensar !

%% --> Print %

Luego, para los float, buena pregunta, debe haber una forma, pero personal para la cantidad de veces que lo vayas a usar :D
En claro, es lo que hago en último lugar!!
1
Lancazar Mensajes publicados 11 Estado Miembro 2
 
"Ah Ah, la gente de Epitech está quemada a kilómetros :D"

quieres decir, ¿a su orgullo desmesurado?
¿Cómo se supone que debamos saber que no desea usar las funciones básicas?

Para los floats, no es tan complicado: consulta la IEEE 754, entonces puedes observar que ciertos bits contienen ciertas informaciones.
https://fr.wikipedia.org/wiki/IEEE_754

Si reescribes tu función printf a la manera de gcc, por ejemplo, debes usar los flotantes de doble precisión.

¿eso te ayuda?
0
Inkognito
 
Lol, ¡está claro!

Para mostrar floats, haz de nuevo tu my_put_nbr con floats justamente ;)
1
Nico
 
Oups, olvidé precisar que hacía falta codificarlo en C.
0
Nico
 
Sí, gracias, eso no me ayuda mucho.

¿Pero para mi mostrador de float, alguien tiene alguna idea?
0
kiki
 
para mostrar un float
float x;
x = -3.52;
printf("%f", x);

para mostrar el %
printf("\%");
0
lami20j Mensajes publicados 21506 Fecha de registro   Estado Moderador, Colaborador de seguridad Última intervención   3 571 > kiki
 
Hi,

also
printf("%%");

--
lami20j
0