Funcția llrint () din C ++ rotunjește argumentul la o valoare integrală utilizând modul curent de rotunjire.
Funcția llrint () 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 lrint (), dar returnează long long int în loc de long int.
llrint () prototip (Începând cu standardul 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); // Pentru tip integral
Funcția llrint () ia un singur argument și returnează o valoare de tip long long int. Această funcție este definită în fișierul antet.
llrint () Parametri
Funcția llrint () ia o singură valoare de argument pentru a rotunji.
llrint () Valoare returnată
Funcția llrint () rotunjește argumentul x la o valoare integrală, utilizând direcția de rotunjire specificată de fegetround()
și returnează valoarea în long long int
.
În mod implicit, direcția de rotunjire este setată la 'to-nearest'
.
Direcția de rotunjire poate fi setată la alte valori folosind fesetround()
funcția.
Exemplul 1: Cum funcționează llrint () î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 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; )
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 llrint () pentru tipurile integrale
#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; )
Când rulați programul, ieșirea va fi:
Rotunjirea în jos (15) = 15
Pentru valorile integrale, aplicarea funcției llrint returnează aceeași valoare ca intrarea. Deci nu este folosit în mod obișnuit pentru valori integrale în practică.