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