C ++ nearbyint () - C ++ Standard Library

A C ++ funkcióban található nearbyint () függvény kerekíti az argumentumot egy integrálértékre az aktuális kerekítési mód használatával.

A C ++ funkcióban található nearbyint () függvény kerekíti az argumentumot egy integrálértékre az aktuális kerekítési mód használatával. Az aktuális kerekítési módot a funkció határozza meg fesetround(). A nearbyint () függvény hasonló a rint () függvényhez, azzal a különbséggel, hogy nem vet fel FE_INEXACT kivételeket rint () néven.

A FE_INEXACT kivétel egy lebegőpontos kivétel, amely akkor fordul elő, amikor a művelet eredménye lekerekítés vagy fokozatos alulcsordulás miatt nem jelenik meg pontosan.

nearbyint () prototípus (C ++ 11 szabvány szerint)

dupla közeli (kettős x); float nearbyint (úszó x); hosszú dupla közeli (hosszú dupla x); dupla közeli (T x); // Integrál típusra

A nearbyint () függvény egyetlen argumentumot vesz fel, és egy double, float vagy long double type értéket ad vissza. Ezt a függvényt a fejlécfájl határozza meg.

nearbyint () Paraméterek

A nearbyint () függvény egyetlen argumentumértéket kerekít.

nearbyint () Visszatérési érték

A nearbyint () függvény az x argumentumot integrálértékre kerekíti, a fegetround () által megadott kerekítési irány felhasználásával, és visszaadja az értéket. Alapértelmezés szerint a kerekítési irány a „legközelebbi” értékre van állítva. A kerekítési irány a fesetround () függvény segítségével más értékekre is beállítható.

1. példa: Hogyan működik a nearbyint () C ++ nyelven?

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

A program futtatásakor a kimenet a következő lesz:

 Kerekítés legközelebbi (11,87) = 12 Kerekítés legközelebbi (11,5) = 12 Kerekítés lefelé (17,87) = 17 Kerekítés felfelé (33,3401) = 34

2. példa: nearbyint () függvény integrált típusokhoz

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

A program futtatásakor a kimenet a következő lesz:

 Lefelé kerekítés (15) = 15 

Integrálértékek esetén a nearbyintfüggvény alkalmazása ugyanazt az értéket adja vissza, mint a bemenet. Tehát a gyakorlatban nem használják integrálértékekre.

érdekes cikkek...