Funktionen llrint () i C ++ avrundar argumentet till ett integrerat värde med det aktuella avrundningsläget.
Funktionen llrint () i C ++ avrundar argumentet till ett integrerat värde med det aktuella avrundningsläget.
Det aktuella avrundningsläget bestäms av funktionen fesetround()
. Det liknar lrint (), men returnerar long long int istället för long int.
llrint () prototyp (Från och med C ++ 11 standard)
lång lång int llrint (dubbel x); lång lång int llrint (float x); lång lång int llrint (lång dubbel x); lång lång intllrint (T x); // För integrerad typ
Funktionen llrint () tar ett enda argument och returnerar ett värde av typen long long int. Denna funktion definieras i rubrikfilen.
llrint () Parametrar
Funktionen llrint () tar ett enda argumentvärde att runda.
llrint () Returvärde
Funktionen llrint () avrundar argumentet x till ett integrerat värde med den avrundningsriktning som anges fegetround()
och returnerar värdet i long long int
.
Som standard är avrundningsriktningen inställd på 'to-nearest'
.
Avrundningsriktningen kan ställas in på andra värden med hjälp av fesetround()
funktionen.
Exempel 1: Hur fungerar llrint () 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 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; )
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: funktionen llrint () för integrerade typer
#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; )
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 llrint-funktionen. Så det används inte ofta för integrerade värden i praktiken.