الموضوع: معلومات تقنية
عرض مشاركة واحدة
قديم 02-18-20, 10:55 AM   #31
reeman

الصورة الرمزية reeman

آخر زيارة »  01-05-22 (11:32 AM)
Hope
MMS ~

 الأوسمة و جوائز

افتراضي



خطأ طرح الكسور في البرمجة



لأرقام العشرية كغيرها من الأرقام تخزن في الحاسوب بنظام الترقيم الثنائي، ولكن الأرقام العشرية لا يمكن تخزينها بشكل دقيق مئة بالمئة، عندما تكتب نتيجة كرقم عشري فالقيمة الصحيحة هي عدد لانهائي من رقم 3 بعد العلامة العشرية ولذلك البعض يكتب 0.33° أو 0.333° لإستحالة كتابة قيمة لانهائية! وبالمثل لا يمكن للحاسوب تخزين قيمة لا نهائية لذلك تحفظ قيمة تقريبية للرقم بدلاً من ذلك. فإن كنت حديث العهد بالبرمجة وفوجئت بأن نتيجة التحقق من صحة هذا الشرط 0.1 + 0.2 == 0.3 أو ما يكافئه هي false فإعلم أن الخطأ ليس منك ولا من لغة البرمجة التي تستخدمها بل هي نتيجة لأساس تعامل الحاسوب مع الـ floating numbers وستجد العديد من الدوال البرمجية التي تعمل على إعادة طباعة الناتج النهائي الذي كنت تتوقعه.


 

رد مع اقتباس