Mohammed Shehata نشر 9 سبتمبر 2021 أرسل تقرير نشر 9 سبتمبر 2021 ما الفرق في الداتابيز بين استخدام الnumeric واستخدام الfloat وشكراً 1 اقتباس
0 شرف الدين حفني نشر 9 سبتمبر 2021 أرسل تقرير نشر 9 سبتمبر 2021 الfloat معرفة حسب معايير IEEE-754 والتي تنص علي أن يتم حجز عدد من الbits من أجل الرقم وعدد من الbits من أجل الأس , حيث يتم كتابة الرقم علي الصورة الأتية 10.25=1025e-2 حيث e-2 تعني 10 مرفوعة للقوة سالب 2 بينما في الnumeric أو التي تسمى Fixed-point Decimals (النقطة الثابتة العشرية) يتم حجز عدد الbits المستخدمة في كلاً من الرقم قبل العﻻمة العشرية والرقم بعد العﻻمة العشرية من قبل تعيين قيمتهم حسناً, ما الفرق إذاً؟ الfloat أسرع في حسابه ولكن دقته أقل, وبالمناسبة هذ نفس النوع الذي يتم إستخدامه في الc/c++ المكاتب القياسية, فيمكنك تجربة الكود الأتي float x = 0.1; float y = 0.2; printf("x+y = %.20f\n", x+y); printf("0.3 = %.20f\n", 0.3); وعند النظر إلى الناتج نجد أ،: الناتج المتوقع: x+y = 0.300000 0.3 = 0.300000 بينما الناتج الحقيقي: x+y = 0.30000001192092895508 0.3 = 0.29999999999999998890 بينما في الnumeric تكون دقته عالية ولكن يكون أبطأ في حسابه من الfloat وبوجه عام فإن الfloat دقته تكون كافية ومرضية إلا في حالة أن تكون تتعامل مع بيانات حساسة مثل الحسابات العلمية أو حسابات البنوك 1 اقتباس
السؤال
Mohammed Shehata
ما الفرق في الداتابيز بين استخدام الnumeric واستخدام الfloat وشكراً
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.