C ++ lrint () - C ++ Standardbibliotek

Funktionen lrint () i C ++ rundar argumentet till ett integrerat värde med det aktuella avrundningsläget.

Funktionen lrint () i C ++ rundar argumentet till ett integrerat värde med det aktuella avrundningsläget. Det aktuella avrundningsläget bestäms av funktionen fesetround(). Det liknar rint (), men returnerar long int.

lrint () prototyp (Från och med C ++ 11-standarden)

lång intryck (dubbel x); lång int lrint (float x); lång int lrint (lång dubbel x); lång intryck (T x); // För integrerad typ

Funktionen lrint () tar ett enda argument och returnerar ett typvärde long int. Denna funktion definieras i rubrikfilen.

lrint () Parametrar

Funktionen lrint () tar ett enda argumentvärde att runda.

lrint () Returvärde

Funktionen lrint () avrundar argumentet x till ett integrerat värde med den avrundningsriktning som anges av fegetround () och returnerar värdet i long int.

Som standard är avrundningsriktningen inställd på 'närmast'. Avrundningsriktningen kan ställas in på andra värden med funktionen fesetround ().

Exempel 1: Hur fungerar lrint () i 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; )

När du kör programmet blir resultatet:

 Avrundning till närmaste (11,87) = 12 Avrundning till närmaste (11,5) = 12 Avrundning nedåt (11,8699) = 11 Avrundning uppåt (33,3201) = 34

Exempel 2: funktion lrint () för integrerade typer

 #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; ) 

När du kör programmet blir resultatet:

 Avrundning nedåt (15) = 15 

För integrerade värden returnerar samma värde som ingången genom att använda lrint-funktionen. Så det används inte ofta för integrerade värden i praktiken.

Intressanta artiklar...