C ++ lrint () - C ++ Standardbibliotek

Funktionen lrint () i C ++ afrunder argumentet til en integreret værdi ved hjælp af den aktuelle afrundingstilstand.

Funktionen lrint () 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 rint (), men vender tilbage long int.

lrint () prototype (pr. C ++ 11 standard)

lang int lrint (dobbelt x); lang int lrint (float x); lang int lrint (lang dobbelt x); langt int-tryk (T x); // For integreret type

Funktionen lrint () tager et enkelt argument og returnerer en værdi af typen long int. Denne funktion er defineret i headerfilen.

lrint () Parametre

Funktionen lrint () tager en enkelt argumentværdi at afrunde.

lrint () Returværdi

Funktionen lrint () afrunder argumentet x til en integreret værdi ved hjælp af afrundingsretningen specificeret af fegetround () og returnerer værdien i long int.

Afrundingsretningen er som standard indstillet til 'nærmest'. Afrundingsretningen kan indstilles til andre værdier ved hjælp af funktionen fesetround ().

Eksempel 1: Hvordan fungerer lrint () 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 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; )

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: lrint () -funktion til integrerede typer

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

Når du kører programmet, vil output være:

 Afrunding nedad (15) = 15 

Ved integrerede værdier returnerer anvendelse af lrint-funktionen den samme værdi som input. Så det bruges ikke almindeligt til integrerede værdier i praksis.

Interessante artikler...