الفرق بين المراجعتين لصفحة: «Python/int/bit length»

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



مراجعة 07:47، 30 أبريل 2018

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

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

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 من اللغة.

انظر أيضًا

مصادر