تقنية

as_integer_ratio في بايثون: هل 0.7 تساوي الكسر 7/10؟

للعدد العائم 0.7 بسط 3152519739159347 ومقام 4503599627370496.
بسط ومقام.

as_integer_ratio تعيد بسطًا ومقامًا يمثلان قيمة float نفسها بدقة. [1]

الخلاصة السريعة

لا؛ float 0.7 في تجربتنا تختلف عن الكسر الرياضي الدقيق 7/10. [1]

  • as_integer_ratio تعيد بسطًا ومقامًا يمثلان قيمة float نفسها بدقة. [1]
  • نقارن بالكسر الرياضي الدقيق 7/10، دون قسمة عائمة. [1]
  • مثال مؤلف على CPython 3.12.14: x=0.7؛ p,q=x.as_integer_ratio() يعطيان p=3152519739159347 وq=4503599627370496. [1]
  • الحساب الصحيح 10*p-7*q=-2، لا صفر؛ إذن الكسران غير متساويين. [1]
  • تحكم: (0.75).as_integer_ratio() تعيد (3,4)، أي الكسر 3/4 بدقة. [1]

نسبة دقيقة

as_integer_ratio تعيد بسطًا ومقامًا يمثلان قيمة float نفسها بدقة. [1]

كسر رياضي

نقارن بالكسر الرياضي الدقيق 7/10، دون قسمة عائمة. [1]

بسط ومقام

مثال مؤلف على CPython 3.12.14: x=0.7؛ p,q=x.as_integer_ratio() يعطيان p=3152519739159347 وq=4503599627370496. [1]

p,q=x.as_integer_ratio() [1]

عشرة أمثال البسط أقل من سبعة أمثال المقام بمقدار 2.
حساب صحيح.

مقارنة صحيحة

الحساب الصحيح 10*p-7*q=-2، لا صفر؛ إذن الكسران غير متساويين. [1]

10*p-7*q -> -2 [1]

تحكم: (0.75).as_integer_ratio() تعيد (3,4)، أي الكسر 3/4 بدقة. [1]

المراجع

  1. Python — float.as_integer_ratio

للتوسع: لغات البرمجة.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.