رسم بياني للمقارنة:
أساس للمقارنة | تطفو | مزدوج |
---|---|---|
الاحكام | الدقة واحد. | دقة مزدوجة. |
بت | 32 بت. | 64 بت. |
بايت | 4 بايت. | 8 بايت. |
المدى التقريبي | 1.4e-045 to 3.4e + 038 | 4.9e-324 إلى 1.8e + 308 |
تمثيل البتات | يمثل 1 بت بت الإشارة. 8 بت تمثل الأس. 23 بتة تمثل العشري. | يمثل 1 بت بت الإشارة. 11 بت يمثل الأس. 52 بت تمثل العشري. |
صحة | أقل من دقيقة. | أكثر دقة. |
تعريف تعويم
تعويم نوع البيانات هي واحدة من أنواع الفاصلة العائمة. يحتوي عائم نوع البيانات على تخزين 32 بت (والذي يساوي 4 بايت) للمتغير من نوع عائم. تعيِّن نوع البيانات float دقة واحدة. يمكن تفسير تمثيل 32 بتة في طفو حيث أن 1 بتة ممثلة في بتة الإشارة ، يتم تمثيل 8 بتات كأس ، ويتم تمثيل 23 بتة ك mantissa. النطاق الأقصى لنوع عائم هو 1.4e-045 إلى 3.4e + 038. عند مقارنته بنوع العوامة ذي النوع العائم المزدوج يكون أقل دقة في حين أن الحساب الرياضي. دعونا نفهم تعويم باستخدام مثال.
#include #include int main () {float num1 = sqrt (64.23) cout << num1؛ } // output 8.00060
كما في التعليمة البرمجية أعلاه ، يمكنك ملاحظة أنه يتم تعيين متغير عائم num1 إلى قيمة تكون بواسطة الدالة sqrt () ، والتي تُرجع الجذر التربيعي للقيمة التي يتم تمريرها إلى هذه الدالة. يمكنك ملاحظة أنه عند طباعة القيمة الموجودة في num1 ، تكون قريبة من القيمة الدقيقة ، ولكنها ليست دقيقة. دعنا الآن نرى المثال أدناه عند تنفيذ نفس البرنامج باستخدام نظام مزدوج مثل نوع البيانات.
تعريف مزدوج
مزدوج هو النوع الثاني من نوع البيانات الفاصلة العائمة. يحتوي نوع البيانات المزدوج على سعة تخزين 64 بت (والتي تساوي 8 بايت) لمتغير من النوع المزدوج. إنها تحدد الدقة المزدوجة حيث أن حجمها هو ضعف العوامة فقط. يمكن تفسير تمثيل البتات من النوع 64 بته أن بتة واحدة تمثل بتة الإشارة ، وتمثل البتات 11 من الأسس ، أما البتات 52 البقية فتعطيها عشري. بين نوع البيانات تعويم و مزدوج الأكثر استخدامًا هو نوع بيانات مزدوج. يتم استخدام النوع المزدوج أثناء الحساب الرياضي ، وعندما تكون هناك حاجة دقة كاملة. الدالات الرياضية sin () و cos () و sqrt () دوماً بإرجاع قيمة مزدوجة. دعونا نفهم دقة نوع البيانات مع مثال على ذلك.
#include #include main main () {double num1 = sqrt (64.23) cout << num1؛ } // output 8.0143621
يمكنك ملاحظة أن الإخراج الذي تم الحصول عليه في المثال ، يوضح أن الطفو يختلف عن المخرجات التي تم الحصول عليها في المثال ، موضحًا المضاعف. لذا ، من هذا ، يمكننا أن نقول أن النتائج التي تم الحصول عليها من ضعف هي أكثر دقة بالمقارنة مع تعويم.
الاختلافات الرئيسية بين العوامة ومضاعفة
- تعيّن وحدة البيانات نوعًا من الدقة الواحدة التي تعني عند مقارنتها بمضاعفة الدقة التي تتميز بها ، بينما الدقة المزدوجة تحدد الدقة المزدوجة لأنها لا تزيد عن ضعف تعويم الخطأ الذي لا يكاد يُذكر مقارنةً بتعويمها.
- يحتوي المتغير من نوع الطفو على تخزين 32 بتة في حين أن المتغير من النوع المزدوج يحتوي على تخزين 64 بت والذي يجمع أن المضاعف أكبر في التخزين مقارنة بتعويم.
- يمكن أن تتراوح القيمة في الطفو من 1.4e-045 إلى 3.4e + 038 ، بينما تتراوح قيمة النوع المزدوج من 4.9e-324 إلى 1.8e + 308.
- ويمثل تمثيل البتات لقيمة عائمة أن 1 بت من الطفو يستخدم في الغناء ، و 8 بتات للأس و 23 بتة لتخزين الجزء العشري. من ناحية أخرى ، تشبه القيمة المزدوجة تلك القيمة 1 بتة المستخدمة في البت في الأغنية ، و 11 بتة للأس و 52 بتة لتخزين الجزء العشري.
- عند المقارنة مع التعويم المزدوج يكون أقل دقة ، بينما يتم استخدام الحساب الرياضي المزدوج.
استنتاج:
حسنا ، يجب أن تستخدم بشكل عام ضعف لأنها توفر الدقة التي هي موتو الرئيسي لدينا في معظم الأحيان.