De functie llrint () in C ++ rondt het argument af op een integrale waarde met behulp van de huidige afrondingsmodus.
De functie llrint () in C ++ rondt het argument af op een integrale waarde met behulp van de huidige afrondingsmodus.
De huidige afrondingsmodus wordt bepaald door de functie fesetround()
. Het is vergelijkbaar met lrint (), maar retourneert long long int in plaats van long int.
llrint () prototype (vanaf C ++ 11-standaard)
lange lange int llrint (dubbele x); long long int llrint (float x); lange lange int llrint (lange dubbele x); lange lange int llrint (T x); // Voor integraal type
De functie llrint () accepteert één argument en retourneert een waarde van het type long long int. Deze functie is gedefinieerd in het header-bestand.
llrint () Parameters
De functie llrint () heeft een enkele argumentwaarde nodig om af te ronden.
llrint () Retourwaarde
De functie llrint () rondt het argument x af op een integrale waarde, met behulp van de afrondingsrichting gespecificeerd door, fegetround()
en retourneert de waarde in long long int
.
Standaard is de afrondingsrichting ingesteld op 'to-nearest'
.
De afrondingsrichting kan met de fesetround()
functie op andere waarden worden ingesteld .
Voorbeeld 1: Hoe werkt llrint () in 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; )
Wanneer u het programma uitvoert, is de uitvoer:
Afronden op dichtstbijzijnde (11,87) = 12 Afronding op dichtstbijzijnde (11,5) = 12 Afronding naar beneden (11,8699) = 11 Afronding naar boven (33,3201) = 34
Voorbeeld 2: functie llrint () voor integrale typen
#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; )
Wanneer u het programma uitvoert, is de uitvoer:
Naar beneden afronden (15) = 15
Voor integrale waarden retourneert het toepassen van de functie llrint dezelfde waarde als de invoer. Het wordt dus in de praktijk niet vaak gebruikt voor integrale waarden.