English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Funzione di libreria <cmath> C++
La funzione lrint() in C++ arrotonda il parametro a un valore intero utilizzando lo schema di arrotondamento attuale. Lo schema di arrotondamento attuale è determinato dalla funzione fesetround().
La funzione lrint() in C++ arrotonda il parametro a un valore intero utilizzando lo schema di arrotondamento attuale. Lo schema di arrotondamento attuale è determinato dalla funzione fesetround().rint(), ma restituisce long int.
long int lrint(double x); long int lrint(float x); long int lrint(long double x); long int lrint(T x); // Per tipi interi
La funzione lrint() accetta un singolo parametro e restituisce un valore long int. Questa funzione è disponibile a partire dalla versione C++ 11.<cmath>Definito nel file di intestazione.
La funzione lrint() accetta un singolo parametro e ne restituisce l'intero.
La funzione lrint() utilizza la direzione di arrotondamento specificata da fegetround() per arrotondare il parametro x a un valore intero e restituire il valore long int.
Per impostazione predefinita, la direzione di arrotondamento è impostata su "più vicino". Puoi impostare altri valori utilizzando la funzione fesetround()
#include <iostream> #include <cmath> #include <cfenv> using namespace std; int main() { //Per impostazione predefinita, la direzione di arrotondamento è "più vicino". Puoi impostare altre valori utilizzando la funzione fesetround() double x = 11.87; long int result; result = lrint(x); cout << "Arrotondamento al più vicino (" << x << ") = " << result << endl; //Il valore intermedio viene arrotondato al numero intero più alto x = 11.5; result = lrint(x); cout << "Arrotondamento al più vicino (" << x << ") = " << result << endl; //Imposta la direzione di arrotondamento su DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = lrint(x); cout << "Arrotondamento verso il basso (" << x << ") = " << result << endl; //Impostare la direzione di arrotondamento su UPWARD fesetround(FE_UPWARD); x = 33.32; result = lrint(x); cout << "Arrotondamento verso l'alto (" << x << ") = " << result << endl; return 0; }
Quando si esegue il programma, l'output è:
Arrotondamento al più vicino (11.87) = 12 Arrotondamento al più vicino (11.5) = 12 Arrotondamento verso il basso (11.8699) = 11 Arrotondamento verso l'alto (33.3201) = 34
#include <iostream> #include <cmath> #include <cfenv> using namespace std; int main() { int x = 15; long int result; //Imposta la direzione di arrotondamento su DOWNWARD fesetround(FE_DOWNWARD); result = lrint(x); cout << "Arrotondamento verso il basso (" << x << ") = " << result << endl; return 0; }
Quando si esegue il programma, l'output è:
Arrotondamento verso il basso (15) = 15
Per i valori interi, la funzione lrint restituisce lo stesso valore dell'input. Pertanto, non viene utilizzata spesso per rappresentare valori interi.