Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonctions fromfp, fromfpf et fromfpl

Entête à inclure

#include <math.h>  // <cmath> en C++

Fonctions fromfp, fromfpf et fromfpl

double      fromfp( double x, int rnd, unsigned int width );                    // C23
float       fromfpf( float x, int rnd, unsigned int width );                     // C23
long double fromfpl( long double x, int rnd, unsigned int width );         // C23

Ces trois fonctions arrondissent x selon une direction d'arrondi mathématique, puis vérifient que le résultat tient dans une largeur entière signée.

Ces éléments ont été ajoutés par la version C23 du standard du langage C.

Paramètres

Valeur de retour

Ces fonctions renvoient la valeur entière arrondie, représentée dans le type flottant de départ.

Exemple de code

L'exemple suivant montre une utilisation simple de ces fonctions.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int main() {
    printf( "fromfp(3.2, FP_INT_UPWARD, 32) == %g\n", fromfp(3.2, FP_INT_UPWARD, 32) );
    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction fromfp.

Il est à noter que la librairie mathématique doit être ajoutée durant l'étape de "link" (édition des liens) de votre exécutable. Cela se réalise en ajoutant l'option -lm à votre compilateur GCC. En cas d'utilisation d'un autre compilateur, je vous renvoie vers la documentation de ce dernier.

$> gcc -o sample sample.c -lm
$> ./sample
fromfp(3.2, FP_INT_UPWARD, 32) == 4
$>

Sujets connexes

Les fonctions ufromfp, ufromfpf et ufromfpl
La macro FP_INT_UPWARD


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé