الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن logarithm

بدأه C++er في 27 يوليو 2013 · 2 رد · 925 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إذا أردت أن اعرف عدد أصفار الرقم 1003 ستكون كالتالي:

 

x = log10(1003)

x = 3 * log10(100)

x = 3 * log10(100)

x = 3 * 2

x = 6

المشكله لدى في الحصول على عدد أصفار رقم بالنظام الثنائي، فالنفترض أننا نريد الحصول على عدد أصفار الرقم 1003 بالنظام الثنائي حينها سأستخدم طريقتين إحداهما بالتحويل بين log2 و log10 و الأخرى بإستخدام log2 مباشرة:

rule:

log2(x) = log10(x) / log10(2)

x = log2(1003)

x = log10(1003) / log10(2)

x = 6 / 0.301

x = 19.93

عند حذف الكسر تصبح الإجابة صحيحة. لنحسبها بإستخدام log2:

hint:

10010 = 11001002

log2(10010) = 610

x = log2(1003)

x = 3 * log2(100)

x = 3 * 6

x = 18

الإجابة هذه المرة خاطئة لإن قيمة log2 1003 هى 19 و ليس 18.

 

هل أخطأت فى حساب log2 بشكل مباشر؟ و ما حل هذه المشكلة.

 

 

و الله ولي التوفيق

تم تعديل هذه المشاركة بواسطة C++er في 27 يوليو 2013 في 05:29

مدونتي: C++ Tips and Tricks

#2

قيمة log2(100) تساوي تقريباً 6.643856189774725 وليس 6 صحيح، وعند ضربها بالثلاثة فستعطي 19.931568569324178 وهي تقريباً نفس نتيجتك الأولى.

1
#3
اقتباس
قيمة log2(100) تساوي تقريباً 6.643856189774725 وليس 6 صحيح، وعند ضربها بالثلاثة فستعطي 19.931568569324178 وهي تقريباً نفس نتيجتك الأولى.

الأن عرفت الخطأ الذى وقعت فيه، و لكن بإفتراض عدم وجود FP كيف لي أن احسبها (يدويا)؟

تم تعديل هذه المشاركة بواسطة C++er في 27 يوليو 2013 في 17:39

مدونتي: C++ Tips and Tricks

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…