English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
استخدام دالة llrint() في C ++ مع نمط التبديل الحالي لتحويل المعامل إلى قيمة كاملة.
نمط التبديل الحالي يحدده دالة fesetround(). إنه يشبهlrint()، ولكن يعود long long int وليس long int.
long long int llrint(double x); long long int llrint(float x); long long int llrint(long double x); long long int llrint(T x); // للأعداد الصحيحة
تتخذ وظيفة llrint() معلماً واحدًا وتعيد قيمة من نوع long long int. تعمل هذه الوظيفة في<cmath>محددة في ملف الرأس.
تقوم وظيفة llrint() بتقريب قيمة معلمة واحدة.
تقوم وظيفة llrint() باستخدام اتجاه التقريب المحدد بواسطة fegetround() لتقريب معامل x إلى قيمة عدد صحيح، وتعيد القيمة كـ long long int.
بالافتراض، يُضبط اتجاه التقريب إلى 'أقرب'.
يمكن استخدام وظيفة fesetround() لتغيير اتجاه التقريب إلى قيمة أخرى.
#include <iostream> #include <cmath> #include <cfenv> using namespace std; int main() { // بالافتراض، يُضبط اتجاه التقريب إلى أقرب double x = 11.87; long long int result; result = llrint(x); cout << "التقريب إلى أقرب (" << x << ") = " << result << endl; // القيمة الوسطى تقريبًا تُضبط إلى عدد صحيح أعلى x = 11.5; result = llrint(x); cout << "التقريب إلى أقرب (" << x << ") = " << result << endl; // يُضبط اتجاه التقريب إلى الأسفل fesetround(FE_DOWNWARD); x = 11.87; result = llrint(x); cout << "التنازل للأسفل (" << x << ") = " << result << endl; // يُضبط اتجاه التقريب إلى الأعلى fesetround(FE_UPWARD); x = 33.32; result = llrint(x); cout << "التقريب لأعلى (" << x << ") = " << result << endl; return 0; }
عند تشغيل البرنامج، الناتج هو:
التقريب إلى أقرب (11.87) = 12 التقريب إلى أقرب (11.5) = 12 التقريب إلى الأسفل (11.8699) = 11 التقريب لأعلى (33.3201) = 34
#include <iostream> #include <cmath> #include <cfenv> using namespace std; int main() { int x = 15; long long int result; //ضبط اتجاه التبديل إلى DOWNWARD fesetround(FE_DOWNWARD); result = llrint(x); cout << "التنازل للأسفل (" << x << ") = " << result << endl; return 0; }
عند تشغيل البرنامج، الناتج هو:
التنازل للأسفل (15) = 15
بالنسبة للقيم الصحيحة، يعيد وظيفة llrint القيمة نفسها. لذلك لا تستخدم عادة لتعريف القيم الصحيحة.