الفرق بين المراجعتين ل"Ruby/Float/prev float"

من موسوعة حسوب
< Ruby‏ | Float
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة.)
 
 
(مراجعة متوسطة واحدة بواسطة نفس المستخدم غير معروضة)
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Float]]
 
[[تصنيف: Ruby Float]]
يعيد التابع <code>prev_float</code> العدد السابق على العدد الذي استُدعي معه. أي يعيد القيمة <code>int-1</code>.
+
يعيد التابع <code>prev_float</code> العدد العشري الذي يسبق العدد العشري الذي استُدعي معه.
 +
 
 +
يعيد استدعاء التابع <code>prev_float</code> مع القيمة <code>(‎(-Float::MAX</code> والقيمة <code>(Float::INFINITY-)</code> القيمة الثابتة ‎<code>-Float::INFINITY</code>. ويعيد استدعاء التابع بالشكل <code>Float::NAN.prev_float</code> القيمة <code>Float::NAN</code>.
 
==البنية العامة==
 
==البنية العامة==
<syntaxhighlight lang="ruby">pred  integer‎</syntaxhighlight>
+
<syntaxhighlight lang="ruby">prev_float float</syntaxhighlight>
 
==القيمة المعادة==
 
==القيمة المعادة==
يعاد العدد السابق على العدد الذي استُدعي معه.
+
يعاد العدد العشري السابق للعدد العشري المعطى.
 
==أمثلة==
 
==أمثلة==
مثال على استخدام التابع <code>pred‎</code>:
+
مثال على استخدام التابع <code>prev_float</code>:
<syntaxhighlight lang="ruby">1.pred      #=> 0
+
<syntaxhighlight lang="ruby">0.01.prev_float    #=> 0.009999999999999998
(-1).pred   #=> -2
+
1.0.prev_float    #=> 0.9999999999999999
</syntaxhighlight>
+
100.0.prev_float  #=> 99.99999999999999
 +
 
 +
0.01 - 0.01.prev_float    #=> 1.734723475976807e-18
 +
1.0 - 1.0.prev_float      #=> 1.1102230246251565e-16
 +
100.0 - 100.0.prev_float   #=> 1.4210854715202004e-14
 +
 
 +
f = 0.01; 20.times { printf "%-20a %s\n", f, f.to_s; f = f.prev_float }
 +
#=> 0x1.47ae147ae147bp-7 0.01
 +
#  0x1.47ae147ae147ap-7 0.009999999999999998
 +
#  0x1.47ae147ae1479p-7 0.009999999999999997
 +
#  0x1.47ae147ae1478p-7 0.009999999999999995
 +
#  0x1.47ae147ae1477p-7 0.009999999999999993
 +
#  0x1.47ae147ae1476p-7 0.009999999999999992
 +
#  0x1.47ae147ae1475p-7 0.00999999999999999
 +
#  0x1.47ae147ae1474p-7 0.009999999999999988
 +
#  0x1.47ae147ae1473p-7 0.009999999999999986
 +
#  0x1.47ae147ae1472p-7 0.009999999999999985
 +
#  0x1.47ae147ae1471p-7 0.009999999999999983
 +
#  0x1.47ae147ae147p-7  0.009999999999999981
 +
#  0x1.47ae147ae146fp-7 0.00999999999999998
 +
#  0x1.47ae147ae146ep-7 0.009999999999999978
 +
#  0x1.47ae147ae146dp-7 0.009999999999999976
 +
#  0x1.47ae147ae146cp-7 0.009999999999999974
 +
#  0x1.47ae147ae146bp-7 0.009999999999999972
 +
#  0x1.47ae147ae146ap-7 0.00999999999999997
 +
#  0x1.47ae147ae1469p-7 0.009999999999999969
 +
#  0x1.47ae147ae1468p-7 0.009999999999999967</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Float/next|next]]</code>: يعيد العدد الموالي للعدد الذي استُدعي معه.
+
* التابع <code>[[Ruby/Float/next float|next_float]]</code>: يعيد العدد العشري الذي يلي العدد العشري الذي استُدعي معه.
  
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Integer.html#method-i-pred قسم التابع pred‎ في الصنف Float في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/Float.html#method-i-prev_float قسم التابع prev_float في الصنف Float في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 07:27، 24 نوفمبر 2018

يعيد التابع prev_float العدد العشري الذي يسبق العدد العشري الذي استُدعي معه.

يعيد استدعاء التابع prev_float مع القيمة (‎(-Float::MAX والقيمة (Float::INFINITY-) القيمة الثابتة ‎-Float::INFINITY. ويعيد استدعاء التابع بالشكل Float::NAN.prev_float القيمة Float::NAN.

البنية العامة

prev_float  float

القيمة المعادة

يعاد العدد العشري السابق للعدد العشري المعطى.

أمثلة

مثال على استخدام التابع prev_float:

0.01.prev_float    #=> 0.009999999999999998
1.0.prev_float     #=> 0.9999999999999999
100.0.prev_float   #=> 99.99999999999999

0.01 - 0.01.prev_float     #=> 1.734723475976807e-18
1.0 - 1.0.prev_float       #=> 1.1102230246251565e-16
100.0 - 100.0.prev_float   #=> 1.4210854715202004e-14

f = 0.01; 20.times { printf "%-20a %s\n", f, f.to_s; f = f.prev_float }
#=> 0x1.47ae147ae147bp-7 0.01
#   0x1.47ae147ae147ap-7 0.009999999999999998
#   0x1.47ae147ae1479p-7 0.009999999999999997
#   0x1.47ae147ae1478p-7 0.009999999999999995
#   0x1.47ae147ae1477p-7 0.009999999999999993
#   0x1.47ae147ae1476p-7 0.009999999999999992
#   0x1.47ae147ae1475p-7 0.00999999999999999
#   0x1.47ae147ae1474p-7 0.009999999999999988
#   0x1.47ae147ae1473p-7 0.009999999999999986
#   0x1.47ae147ae1472p-7 0.009999999999999985
#   0x1.47ae147ae1471p-7 0.009999999999999983
#   0x1.47ae147ae147p-7  0.009999999999999981
#   0x1.47ae147ae146fp-7 0.00999999999999998
#   0x1.47ae147ae146ep-7 0.009999999999999978
#   0x1.47ae147ae146dp-7 0.009999999999999976
#   0x1.47ae147ae146cp-7 0.009999999999999974
#   0x1.47ae147ae146bp-7 0.009999999999999972
#   0x1.47ae147ae146ap-7 0.00999999999999997
#   0x1.47ae147ae1469p-7 0.009999999999999969
#   0x1.47ae147ae1468p-7 0.009999999999999967

انظر أيضا

  • التابع next_float: يعيد العدد العشري الذي يلي العدد العشري الذي استُدعي معه.

مصادر