C ++ lrint () - Biblioteca standard C ++

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

Articole interesante...