C ++ nearbyint () - C ++ Standardbibliotek

Närliggandeint () -funktionen i C ++ avrundar argumentet till ett integrerat värde med det aktuella avrundningsläget.

Närliggandeint () -funktionen i C ++ avrundar argumentet till ett integrerat värde med det aktuella avrundningsläget. Det aktuella avrundningsläget bestäms av funktionen fesetround(). Närliggandeint-funktionen () liknar rint (), förutom att den inte höjer FE_INEXACT-undantag som rint ().

Ett FE_INEXACT-undantag är ett undantag för flytande punkter som uppstår när resultatet av en operation inte representeras exakt på grund av avrundning eller gradvis underflöde.

närliggandeint () prototyp (Från och med C ++ 11 standard)

dubbel närliggandeint (dubbel x); float nearbyint (float x); lång dubbel närliggandeint (lång dubbel x); dubbel närliggandeint (T x); // För integrerad typ

Närliggandeint () -funktionen tar ett enda argument och returnerar ett värde av typen dubbel, flytande eller lång dubbel typ. Denna funktion definieras i rubrikfilen.

närliggande parametrar ()

Närliggandeint () -funktionen tar ett enda argumentvärde att runda.

närliggandeint () Returvärde

Närliggandeint () -funktionen avrundar argumentet x till ett integrerat värde med den avrundningsriktning som anges av fegetround () och returnerar värdet. Som standard är avrundningsriktningen inställd på 'närmast'. Avrundningsriktningen kan ställas in på andra värden med funktionen fesetround ().

Exempel 1: Hur närliggandeint () fungerar 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, result; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // upper value is taken for mid-way values x = 11.5; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 17.87; result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << nearbyint(x) << endl; // setting rounding direction to UPWARD x = 33.34; fesetround(FE_UPWARD); result = nearbyint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )

När du kör programmet blir resultatet:

 Avrundning till närmaste (11,87) = 12 Avrundning till närmaste (11,5) = 12 Avrundning nedåt (17,87) = 17 Avrundning uppåt (33,3401) = 34

Exempel 2: närliggandeint () -funktion för integrerade typer

 #include #include #include using namespace std; int main() ( int x = 15; double result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; ) 

När du kör programmet blir resultatet:

 Avrundning nedåt (15) = 15 

För integrerade värden nearbyintreturnerar samma funktion som ingången genom att använda funktionen. Så det används inte ofta för integrerade värden i praktiken.

Intressanta artiklar...