"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يبدو أن الدقة المزدوجة تحتوي على منازل عشرية أكثر من الرقم 15 المعلن عنه؟

لماذا يبدو أن الدقة المزدوجة تحتوي على منازل عشرية أكثر من الرقم 15 المعلن عنه؟

تم النشر بتاريخ 2024-12-24
تصفح:225

Why Does Double Precision Appear to Have More Decimal Places Than Its Advertised 15?

الدقة المزدوجة ودقة المكان العشري

في برمجة الكمبيوتر، غالبًا ما يُفترض أن نوع البيانات مزدوجة الدقة لديه دقة تقريبية تبلغ 15 منزلة عشرية. ومع ذلك، يبدو أن بعض تمثيلات الأرقام، مثل 1.0/7.0، تتمتع بدقة أكبر عند تمثيلها داخليًا داخل المتغير. ستستكشف هذه المقالة سبب حدوث ذلك ولماذا توصف الدقة غالبًا بحوالي 15 منزلة عشرية.

التمثيل الداخلي

يحتوي IEEE double على 53 بتة مهمة، أي ما يعادل تقريبًا 15.95 رقمًا عشريًا. لحساب التقريب، يقوم التنفيذ بتعيين الدقة (DBL_DIG) إلى 15. وهذا يوفر تقريبًا رقمًا عشريًا إضافيًا من الدقة يتجاوز ما يشير إليه DBL_DIG.

دقة الإخراج

عند عرض مزدوج، عادةً ما يقوم المترجمون بتقريب القيمة بناءً على الدقة. على سبيل المثال، 1.0/7.0، عند عرضها مع "%.17g"، تكون دقة 17 رقمًا. ومع ذلك، إذا تم استخدام "%.64g"، فلن تظهر أي أرقام مهمة تتجاوز الدقة المتوقعة المكونة من 15 رقمًا.

الاستنتاج

الأرقام ذات الدقة المزدوجة لها تمثيل داخلي يسمح بحوالي 15.95 رقمًا عشريًا من الدقة. ومع ذلك، نظرًا للتقريب، يتم عادةً تعيين الدقة المعروضة إلى 15 منزلة عشرية. يساعد هذا التفسير في توضيح سبب ظهور بعض الأرقام المحددة، مثل 1.0/7.0، بدقة أكبر داخليًا ولكنها لا تزال متوافقة مع الدقة المقدرة المكونة من 15 رقمًا عند عرضها.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3