C ++ llrint () - Biblioteca standard C ++

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ă.

Articole interesante...