الفرق بين المراجعتين لصفحة: «Ruby/Integer/bit length»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>bit_length</code> الخاص بالصنف <code>Integer</code> في روبي}}</noinclude> تصنيف: Ruby ت...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Integer]] | [[تصنيف: Ruby Integer]] | ||
يعيد التابع <code>bit_length</code> | يعيد التابع <code>bit_length</code> عدد بتات قيمة العدد الذي استُدعي معه. | ||
يُقصد بـ "عدد البتات" موضع أعلى بتة والتي تختلف عن بتة الإشارة [sign bit] (حيث يكون موضع البتة الأقل دلالة [least significant bit] هو 1). إذا لم يكن تلك البتة موجودة (أي إذا كانت قيمة الموضع صفر أو ناقص واحد) ، فسيُعاد الصفر. | |||
هذا التابع يعيد ناتج التعبير ''<code>ceil(log2(int < 0 ? -int : int+1))</code>''. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">bit_length → integer</syntaxhighlight> | <syntaxhighlight lang="ruby">bit_length → integer</syntaxhighlight> | ||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
يعيد التابع <code>bit_length</code> عدد بتات قيمة العدد الذي استُدعي معه. | |||
==أمثلة== | ==أمثلة== | ||
سطر 33: | سطر 39: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع < | * التابع <code>[[Ruby/Integer/and|&]]</code>: ينفذ المعامل <code>&</code> عملية "و" (AND) بين بتات طرفي العملية، بتةً بتةً. | ||
* التابع <code>[[Ruby/Integer/allbits-3F|allbits?]]</code>: يعيد التابع <code>allbits?</code> القيمة <code>true</code> إن كانت قيم كل بتات ناتج العملية <code>int & mask</code> تساوي واحد. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Integer.html#method-i-bit_length قسم التابع bit_length في الصنف Integer في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Integer.html#method-i-bit_length قسم التابع bit_length في الصنف Integer في توثيق روبي الرسمي.] |
مراجعة 21:27، 14 أكتوبر 2018
يعيد التابع bit_length
عدد بتات قيمة العدد الذي استُدعي معه.
يُقصد بـ "عدد البتات" موضع أعلى بتة والتي تختلف عن بتة الإشارة [sign bit] (حيث يكون موضع البتة الأقل دلالة [least significant bit] هو 1). إذا لم يكن تلك البتة موجودة (أي إذا كانت قيمة الموضع صفر أو ناقص واحد) ، فسيُعاد الصفر.
هذا التابع يعيد ناتج التعبير ceil(log2(int < 0 ? -int : int+1))
.
البنية العامة
bit_length → integer
القيمة المُعادة
يعيد التابع bit_length
عدد بتات قيمة العدد الذي استُدعي معه.
أمثلة
مثال على استخدام التابع bit_length
:
(-2**1000-1).bit_length #=> 1001
(-2**1000).bit_length #=> 1000
(-2**1000+1).bit_length #=> 1000
(-2**12-1).bit_length #=> 13
(-2**12).bit_length #=> 12
(-2**12+1).bit_length #=> 12
-0x101.bit_length #=> 9
-0x100.bit_length #=> 8
-0xff.bit_length #=> 8
-2.bit_length #=> 1
-1.bit_length #=> 0
0.bit_length #=> 0
1.bit_length #=> 1
0xff.bit_length #=> 8
0x100.bit_length #=> 9
(2**12-1).bit_length #=> 12
(2**12).bit_length #=> 13
(2**12+1).bit_length #=> 13
(2**1000-1).bit_length #=> 1000
(2**1000).bit_length #=> 1001
(2**1000+1).bit_length #=> 1001
انظر أيضا
- التابع
&
: ينفذ المعامل&
عملية "و" (AND) بين بتات طرفي العملية، بتةً بتةً.
- التابع
allbits?
: يعيد التابعallbits?
القيمةtrue
إن كانت قيم كل بتات ناتج العمليةint & mask
تساوي واحد.