موصى به, 2021

اختيار المحرر

الفرق بين العوامة والمزدوج

كل من Float و Double هما نوعان من البيانات تحت نوع Floating-point. أرقام Floating-point هي الأرقام الحقيقية التي تحتوي على مكون كسري فيه. الفرق الأساسي بين عائم ومضاعفة هو أن نوع عائم لديه تخزين 32 بت. من ناحية أخرى ، يحتوي النوع المزدوج على تخزين 64 بت. هناك بعض الاختلافات الأخرى بين العوامة والمضاعفة التي تمت مناقشتها في مخطط المقارنة الموضح أدناه.

رسم بياني للمقارنة:

أساس للمقارنةتطفومزدوج
الاحكامالدقة واحد.دقة مزدوجة.
بت32 بت.64 بت.
بايت4 بايت.8 بايت.
المدى التقريبي1.4e-045 to 3.4e + 0384.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 

يمكنك ملاحظة أن الإخراج الذي تم الحصول عليه في المثال ، يوضح أن الطفو يختلف عن المخرجات التي تم الحصول عليها في المثال ، موضحًا المضاعف. لذا ، من هذا ، يمكننا أن نقول أن النتائج التي تم الحصول عليها من ضعف هي أكثر دقة بالمقارنة مع تعويم.

الاختلافات الرئيسية بين العوامة ومضاعفة

  1. تعيّن وحدة البيانات نوعًا من الدقة الواحدة التي تعني عند مقارنتها بمضاعفة الدقة التي تتميز بها ، بينما الدقة المزدوجة تحدد الدقة المزدوجة لأنها لا تزيد عن ضعف تعويم الخطأ الذي لا يكاد يُذكر مقارنةً بتعويمها.
  2. يحتوي المتغير من نوع الطفو على تخزين 32 بتة في حين أن المتغير من النوع المزدوج يحتوي على تخزين 64 بت والذي يجمع أن المضاعف أكبر في التخزين مقارنة بتعويم.
  3. يمكن أن تتراوح القيمة في الطفو من 1.4e-045 إلى 3.4e + 038 ، بينما تتراوح قيمة النوع المزدوج من 4.9e-324 إلى 1.8e + 308.
  4. ويمثل تمثيل البتات لقيمة عائمة أن 1 بت من الطفو يستخدم في الغناء ، و 8 بتات للأس و 23 بتة لتخزين الجزء العشري. من ناحية أخرى ، تشبه القيمة المزدوجة تلك القيمة 1 بتة المستخدمة في البت في الأغنية ، و 11 بتة للأس و 52 بتة لتخزين الجزء العشري.
  5. عند المقارنة مع التعويم المزدوج يكون أقل دقة ، بينما يتم استخدام الحساب الرياضي المزدوج.

استنتاج:

حسنا ، يجب أن تستخدم بشكل عام ضعف لأنها توفر الدقة التي هي موتو الرئيسي لدينا في معظم الأحيان.

Top