الفرق بين المراجعتين ل"Python/int/bit length"

من موسوعة حسوب
< Python‏ | int
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - ':الدالة' ب':التابع')
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة <code>int.bit_length()‎</code> في بايثون}}</noinclude>
+
<noinclude>{{DISPLAYTITLE:التابع <code>int.bit_length()‎</code> في بايثون}}</noinclude>
 
يعيد التابع <code>bit_length()‎</code> عدد البتات المطلوبة لتمثيل [[Python/int|عدد صحيح]] بالصيغة الثنائية، مع استثناء الإشارة والأصفار الأولية.
 
يعيد التابع <code>bit_length()‎</code> عدد البتات المطلوبة لتمثيل [[Python/int|عدد صحيح]] بالصيغة الثنائية، مع استثناء الإشارة والأصفار الأولية.
  

المراجعة الحالية بتاريخ 11:59، 10 يونيو 2018

يعيد التابع bit_length()‎ عدد البتات المطلوبة لتمثيل عدد صحيح بالصيغة الثنائية، مع استثناء الإشارة والأصفار الأولية.

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

x.bit_length()

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

يعيد هذا التابع عدد البتات المطلوبة لتمثيل عدد صحيح بالصيغة الثنائية، مع استثناء الإشارة والأصفار الأولية.

أمثلة

يبيّن المثال التالي النتيجة المعادة من استخدام التابع مع عدد صحيح يمتلك إشارة سالبة:

>>> n = -37
>>> bin(n)
'-0b100101'
>>> n.bit_length()
6

توضيح

إذا توخينا الدقة، فإنّ القيمة المعادة من x.bit_length()‎ في حال لم يكن x مساويًا للصفر هي عدد صحيح موجب فريد k بموجب العلاقة الرياضية ‎2**(k-1)<= abs(x) < 2**k‎‎‎. وبنفس الطريقة عندما تكون قيمة abs(x)‎ صغيرة بما يكفي لامتلاك خوارزمية مقرّبة صحيحة، فإنّ k يساوي ‎1 + int(log(abs(x), 2))‎. في حال كانت قيمة x مساوية للصفر فإنّ x.bit_length()‎ تعيد القيمة 0.

الدالة التالية مكافئة في عملها للتابع bit_length()‎:

def bit_length(self):
s = bin(self) # التمثيل بالنظام الثنائي:
# bin(-37) --> '-0b100101'
s = s.lstrip('-0b') # حذف الأصفار الأولية وإشارة السالب
return len(s) # len('100101') --> 6

ملاحظة: هذا التابع جديدٌ في الإصدار 3.1 من اللغة.

انظر أيضًا

مصادر