Funktionen llrint () i C ++ afrunder argumentet til en integreret værdi ved hjælp af den aktuelle afrundingstilstand.
Funktionen llrint () i C ++ afrunder argumentet til en integreret værdi ved hjælp af den aktuelle afrundingstilstand.
Den aktuelle afrundingstilstand bestemmes af funktionen fesetround()
. Det svarer til lrint (), men returnerer long long int i stedet for long int.
llrint () prototype (pr. C ++ 11 standard)
lang lang int llrint (dobbelt x); lang lang int llrint (float x); lang lang int llrint (lang dobbelt x); lang lang int llrint (T x); // For integreret type
Funktionen llrint () tager et enkelt argument og returnerer en værdi af typen long long int. Denne funktion er defineret i headerfilen.
llrint () Parametre
Funktionen llrint () tager en enkelt argumentværdi at afrunde.
llrint () Returværdi
Funktionen llrint () afrunder argumentet x til en integreret værdi ved hjælp af afrundingsretningen angivet af fegetround()
og returnerer værdien i long long int
.
Afrundingsretningen er som standard indstillet til 'to-nearest'
.
Afrundingsretningen kan indstilles til andre værdier ved hjælp af fesetround()
funktionen.
Eksempel 1: Hvordan fungerer 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ører programmet, vil output være:
Afrunding til nærmeste (11,87) = 12 Afrunding til nærmeste (11,5) = 12 Afrunding nedad (11,8699) = 11 Afrunding opad (33,3201) = 34
Eksempel 2: llrint () -funktion til integrerede 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ører programmet, vil output være:
Afrunding nedad (15) = 15
Ved integrerede værdier returnerer anvendelse af llrint-funktionen den samme værdi som input. Så det bruges ikke almindeligt til integrerede værdier i praksis.