Ц ++ неарбиинт () - Ц ++ стандардна библиотека

Функција неарбиинт () у Ц ++ заокружује аргумент на интегралну вредност користећи тренутни начин заокруживања.

Функција неарбиинт () у Ц ++ заокружује аргумент на интегралну вредност користећи тренутни начин заокруживања. Тренутни начин заокруживања одређује функција 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функције враћа исту вредност као и улаз. Тако се у пракси често не користи за интегралне вредности.

Занимљиви Чланци...