C ++ lrint () - C ++ standaardbibliotheek

De functie lrint () in C ++ rondt het argument af op een integrale waarde met behulp van de huidige afrondingsmodus.

De functie lrint () 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 rint (), maar keert terug long int.

lrint () prototype (vanaf C ++ 11-standaard)

lange int lrint (dubbele x); long int lrint (float x); lange int lrint (lange dubbele x); lange int lrint (T x); // Voor integraal type

De functie lrint () accepteert één argument en retourneert de waarde van het type long int. Deze functie is gedefinieerd in het header-bestand.

lrint () Parameters

De functie lrint () gebruikt een enkele argumentwaarde om af te ronden.

lrint () Retourwaarde

De functie lrint () rondt het argument x af op een integrale waarde, met behulp van de afrondingsrichting gespecificeerd door fegetround () en retourneert de waarde in long int.

Standaard is de afrondingsrichting ingesteld op 'naar dichtstbijzijnde'. De afrondingsrichting kan worden ingesteld op andere waarden met de functie fesetround ().

Voorbeeld 1: Hoe werkt 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; )

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 lrint () voor integrale typen

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

Wanneer u het programma uitvoert, is de uitvoer:

 Naar beneden afronden (15) = 15 

Voor integrale waarden retourneert het toepassen van de functie lrint dezelfde waarde als de invoer. Het wordt dus in de praktijk niet vaak gebruikt voor integrale waarden.

Interessante artikelen...