Funcția lrint () din C ++ rotunjește argumentul la o valoare integrală utilizând modul curent de rotunjire.
Funcția lrint () din C ++ rotunjește argumentul la o valoare integrală utilizând modul curent de rotunjire. Modul curent de rotunjire este determinat de funcție fesetround()
. Este similar cu rint (), dar se întoarce long int
.
lrint () prototip (Începând cu standardul C ++ 11)
long int lrint (x dublu); long int lrint (float x); long int lrint (long double x); long int lrint (T x); // Pentru tip integral
Funcția lrint () ia un singur argument și returnează o valoare de tip long int
. Această funcție este definită în fișierul antet.
lrint () Parametri
Funcția lrint () ia o singură valoare de argument pentru a rotunji.
lrint () Valoare returnată
Funcția lrint () rotunjește argumentul x la o valoare integrală, utilizând direcția de rotunjire specificată de fegetround () și returnează valoarea în long int
.
În mod implicit, direcția de rotunjire este setată la „la-cel mai apropiat”. Direcția de rotunjire poate fi setată la alte valori utilizând funcția fesetround ().
Exemplul 1: Cum funcționează lrint () în 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 int result; result = lrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // mid-way values are rounded off to higher integer x = 11.5; result = lrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = lrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = lrint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )
Când rulați programul, ieșirea va fi:
Rotunjire la cel mai apropiat (11,87) = 12 Rotunjire la cel mai apropiat (11,5) = 12 Rotunjire în jos (11,8699) = 11 Rotunjire în sus (33,3201) = 34
Exemplul 2: funcția lrint () pentru tipurile integrale
#include #include #include using namespace std; int main() ( int x = 15; long int result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = lrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; )
Când rulați programul, ieșirea va fi:
Rotunjirea în jos (15) = 15
Pentru valorile integrale, aplicarea funcției lrint returnează aceeași valoare ca intrarea. Deci nu este folosit în mod obișnuit pentru valori integrale în practică.