English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Opérateurs de manipulation de bits ++La fonction lrint() dans utilise le mode d'arrondi actuel pour arrondir le paramètre à une valeur entière. Le mode d'arrondi actuel est déterminé par la fonction fesetround(). Il est similaire à
Opérateurs de manipulation de bits ++La fonction lrint() dans utilise le mode d'arrondi actuel pour arrondir le paramètre à une valeur entière. Le mode d'arrondi actuel est déterminé par la fonction fesetround(). Il est similaire àrint(),mais retourne long int.
long int lrint(double x); long int lrint(float x); long int lrint(long double x); long int lrint(T x); //Pour les entiers
La fonction lrint() utilise un seul paramètre et retourne la valeur type long int. Cette fonction est dansCDéfini dans les en-têtes.
La fonction lrint() arrondit un seul paramètre.
Retour de la valeur de l'arrondi lrint()
Par défaut, la direction d'arrondi est définie sur "le plus proche". Vous pouvez utiliser la fonction fesetround() pour définir une autre valeur.
#include <iostream> #include <cmath> #include <cfenv> using namespace std; int main() { //Par défaut, la direction d'arrondi est la plus proche, c'est-à-dire fesetround(FE_TONEAREST) double x = 11.87; ; fesetround(FE_DOWNWARD); cout << "Arrondi au plus proche (" << x << ") = " << result << endl; //Les valeurs intermédiaires sont arrondies à un entier supérieur x = 11.5; fesetround(FE_DOWNWARD); cout << "Arrondi au plus proche (" << x << ") = " << result << endl; //long int result; Définir la direction de l'arrondi sur DOWNWARD x = 11.87; fesetround(FE_DOWNWARD); result = lrint(x); //Définir la direction d'arrondi sur UPWARD fesetround(FE_UPWARD); x = 33.32; fesetround(FE_DOWNWARD); cout << "Rond vers le haut (" << x << ") = " << result << endl; cout << "Rounding向下舍入 (" << x << ") = " << result << endl; return 0;
}
Arrondi au plus proche (11.87Rounding向下舍入 ( 12 Arrondi au plus proche (11.5Rounding向下舍入 ( 12 L'exécution du programme produit la sortie suivante :11.8699Rounding向下舍入 ( 11 Rond vers le haut (33.32Copyright ©1Rounding向下舍入 ( 34
#include <iostream> #include <cmath> #include <cfenv> using namespace std; int main() { int x = 15; ; //long int result; Définir la direction de l'arrondi sur DOWNWARD fesetround(FE_DOWNWARD); result = lrint(x); cout << "Rounding向下舍入 (" << x << ") = " << result << endl; return 0;
}
L'exécution du programme produit la sortie suivante :15Rounding向下舍入 ( 15
) =