Mostrar un float o double

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

  1. 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
    1. #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
      1. 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
        1. 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
          1. 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
            1. 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
              1. "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
            2. Lol, ¡está claro!

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

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

                    para mostrar el %
                    printf("\%");
                    0
                  2. Moderador
                    @kikiHi,

                    also
                    printf("%%");

                    --
                    lami20j
                    0