C ++ lrint () - C ++ Standardbibliothek

Die Funktion lrint () in C ++ rundet das Argument im aktuellen Rundungsmodus auf einen ganzzahligen Wert.

Die Funktion lrint () in C ++ rundet das Argument im aktuellen Rundungsmodus auf einen ganzzahligen Wert. Der aktuelle Rundungsmodus wird durch die Funktion bestimmt fesetround(). Es ähnelt rint (), kehrt aber zurück long int.

Prototyp lrint () (Stand C ++ 11)

long int lrint (double x); long int lrint (float x); long int lrint (langes doppeltes x); long int lrint (T x); // Für integralen Typ

Die Funktion lrint () verwendet ein einzelnes Argument und gibt einen Wert vom Typ zurück long int. Diese Funktion ist in der Header-Datei definiert.

lrint () Parameter

Die Funktion lrint () verwendet einen einzelnen Argumentwert zum Runden.

lrint () Rückgabewert

Die Funktion lrint () rundet das Argument x unter Verwendung der durch fegetround () angegebenen Rundungsrichtung auf einen ganzzahligen Wert und gibt den Wert in zurück long int.

Standardmäßig ist die Rundungsrichtung auf "am nächsten" eingestellt. Die Rundungsrichtung kann mit der Funktion fesetround () auf andere Werte eingestellt werden.

Beispiel 1: Wie funktioniert lrint () 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 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; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Rundung auf den nächsten (11,87) = 12 Rundung auf den nächsten (11,5) = 12 Rundung nach unten (11,8699) = 11 Rundung nach oben (33,3201) = 34

Beispiel 2: Funktion lrint () für Integraltypen

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

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Abrunden nach unten (15) = 15 

Bei Integralwerten gibt die Anwendung der Funktion lrint den gleichen Wert wie die Eingabe zurück. Daher wird es in der Praxis nicht häufig für ganzzahlige Werte verwendet.

Interessante Beiträge...