C ++ llrint () - Bibliothèque standard C ++

La fonction llrint () en C ++ arrondit l'argument à une valeur intégrale en utilisant le mode d'arrondi actuel.

La fonction llrint () en C ++ arrondit l'argument à une valeur intégrale en utilisant le mode d'arrondi actuel.

Le mode d'arrondi actuel est déterminé par la fonction fesetround(). Il est similaire à lrint (), mais retourne long long int au lieu de long int.

prototype llrint () (à partir de la norme C ++ 11)

long long int llrint (double x); long long int llrint (float x); long long int llrint (long double x); long long int llrint (T x); // Pour le type intégral

La fonction llrint () prend un seul argument et renvoie une valeur de type long long int. Cette fonction est définie dans le fichier d'en-tête.

Paramètres de llrint ()

La fonction llrint () prend une seule valeur d'argument pour arrondir.

llrint () Valeur de retour

La fonction llrint () arrondit l'argument x à une valeur intégrale, en utilisant le sens d'arrondi spécifié par fegetround()et renvoie la valeur dans long long int.

Par défaut, la direction d'arrondi est définie sur 'to-nearest'.

La direction d'arrondi peut être réglée sur d'autres valeurs à l'aide de la fesetround()fonction.

Exemple 1: Comment llrint () fonctionne en C ++?

 #include #include #include using namespace std; int main() ( // by default, rounding direction is to-nearest i.e. fesetround(FE_TONEAREST) double x = 11.87; long long int result; result = llrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // mid-way values are rounded off to higher integer x = 11.5; result = llrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = llrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = llrint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )

Lorsque vous exécutez le programme, la sortie sera:

 Arrondi au plus proche (11,87) = 12 Arrondi au plus proche (11,5) = 12 Arrondi à la baisse (11,8699) = 11 Arrondi à la hausse (33,3201) = 34

Exemple 2: fonction llrint () pour les types intégraux

 #include #include #include using namespace std; int main() ( int x = 15; long long int result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = llrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; ) 

Lorsque vous exécutez le programme, la sortie sera:

 Arrondi à la baisse (15) = 15 

Pour les valeurs intégrales, l'application de la fonction llrint renvoie la même valeur que l'entrée. Il n'est donc pas couramment utilisé pour les valeurs intégrales dans la pratique.

Articles intéressants...