Функција неарбиинт () у Ц ++ заокружује аргумент на интегралну вредност користећи тренутни начин заокруживања.
Функција неарбиинт () у Ц ++ заокружује аргумент на интегралну вредност користећи тренутни начин заокруживања. Тренутни начин заокруживања одређује функција fesetround()
. Функција неарбиинт () слична је ринт (), осим што не изазива ФЕ_ИНЕКСАЦТ изузетке као ринт ().
Изузетак ФЕ_ИНЕКСАЦТ је изузетак са покретном зарезом који се јавља када резултат операције није тачно представљен због заокруживања или постепеног подливања.
неарбиинт () прототип (од Ц ++ 11 стандарда)
двоструко у близини (двоструко к); лебдење неарбиинт (флоат к); дугачак дупли неарбиинт (дуги дупли к); двоструко у близини (Т к); // За интегрални тип
Функција неарбиинт () узима један аргумент и враћа вредност типа доубле, флоат или лонг доубле типе. Ова функција је дефинисана у заглављу датотеке.
неарбиинт () Параметри
Функција неарбиинт () узима једну вредност аргумента да заокружи.
неарбиинт () Повратна вредност
Функција неарбиинт () заокружује аргумент к на интегралну вредност, користећи смер заокруживања наведен у фегетроунд () и враћа вредност. Подразумевано је смер заокруживања подешен на „најближи“. Смер заокруживања може се подесити на друге вредности помоћу функције фесетроунд ().
Пример 1: Како неарбиинт () ради у Ц ++?
#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; )
Када покренете програм, излаз ће бити:
Заокруживање на најближе (11,87) = 12 Заокруживање на најближе (11,5) = 12 Заокруживање надоле (17,87) = 17 Заокруживање нагоре (33,3401) = 34
Пример 2: функција неарбиинт () за интегралне типове
#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; )
Када покренете програм, излаз ће бити:
Заокруживање надоле (15) = 15
За интегралне вредности, примена nearbyint
функције враћа исту вредност као и улаз. Тако се у пракси често не користи за интегралне вредности.