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

      Para mostrar floats, haz de nuevo tu my_put_nbr con floats justamente ;)
      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. 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
      3. 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. 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. 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. #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. Oups, olvidé precisar que hacía falta codificarlo en C.
                0