English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
وظائف المكتبة الخاصة بـ C++ <cmath>
استخدام وظيفة ilogb() في C++ ومثال
استخدم دوال ilogb() في C++ FLT_RADIX كأساس للعقد، والعائد هو جزء الكامل من عقد | x |.هذا في<cmath>
محدد في ملف الرأس.
علمياً
x = متغير_النص_المراد_بها * FLT_RADIXexponent
متغير_النص_المراد_بها هو قيمة عائمة في نطاق [1.0,2.0)،و x هو المعامل الذي يتم تقديمه إلى ilogb()،و exponent هو القيمة الصحيحة التي يعودها ilogb().FLT_RADIX هو عادة 2.القيمة التي يعودها ilogb هي أكبر منfrexp
ilogb() النموذج [من معيار C++ 11 بدءاً] ilogb(double x); ilogb(float x); ilogb(long double x);
تقبل وظيفة ilogb معامل، وهو العقد المحسوب.
استخدم وظيفة ilogb FLT_RADIX كأساس للعقد، والعائد هو جزء الكامل من عقد | x |.
إذا كان المعامل 0، يتم العودة إلى FP_LOGB0.
إذا كان المعامل NaN، يتم العودة إلى FP_LOGBNAN.
إذا كان المعامل غير محدود، يتم العودة إلى INT_MAX.
#include <iostream> #include <cmath> #include <cfloat> using namespace std; int main() { int result; double متغير_النص_المراد_بها; double x = 16.81; result = ilogb(x); متغير_النص_المراد_بها = x / pow(FLT_RADIX, result); cout << "ilogb (" << x << ") = " << result << endl; cout << x << " = " << significand << " * " << FLT_RADIX << " ^ " << result << endl << endl; return 0; }
عند تشغيل هذا البرنامج، الناتج هو:
ilogb(16.81) = 4 16.81 = 1.05062 * 2^4
#include <iostream> #include <cmath> #include <cfloat> using namespace std; int main() { int result, x = 19; result = ilogb(x); متغير_النص_المراد_بها = x/pow(FLT_RADIX,result); cout << "ilogb (" << x << ") = " << result << endl; cout << x << " = " << significand << " * " << FLT_RADIX << " ^ " << result << endl << endl; return 0; }
عند تشغيل هذا البرنامج، الناتج هو:
ilogb (19) = 4 19 = 1.1875 * 2^4