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é

Fonction fesetround (C99)

La fonction fesetmode La fonction fetestexcept


Entête à inclure

#include <fenv.h>  // <cfenv> en C++

Fonction fesetround (C99)

int fesetround( int rnd );

Cette fonction tente d'installer une nouvelle direction d'arrondi dynamique pour les calculs en virgule flottante.

Paramètres

Valeur de retour

La fonction renvoie 0 si la direction demandée a été installée. Elle renvoie une valeur non nulle si la direction n'est pas supportée.

Exemple de code

Le programme suivant sauvegarde la direction courante, installe temporairement FE_DOWNWARD, puis restaure l'ancienne valeur.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
#include <fenv.h>
#include <stdio.h>

#pragma STDC FENV_ACCESS ON

int main() {

    int oldRound = fegetround();

    if ( fesetround( FE_DOWNWARD ) == 0 ) {
        printf( "Arrondi modifie : %d\n", fegetround() == FE_DOWNWARD );
        fesetround( oldRound );
    }

    return 0;
}
Modifier temporairement l'arrondi

Sujets connexes

Arrondis binaires
fegetround


La fonction fesetmode La fonction fetestexcept




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