التابع float.fromhex()‎ في بايثون

من موسوعة حسوب
< Python‏ | float
اذهب إلى التنقل اذهب إلى البحث

هذا التابع هو تابع صنف (Class method) يعيد العدد العشري الذي يمكن تمثيله باستخدام السلسلة النصية التي تتضمن الصيغة الست عشرية.

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

x.fromhex()

المعاملات

s

وهو عبارة عن سلسلة نصية تتضمن القيمة الست عشرية المراد تمثيلها بصيغة العدد العشري، وتأخذ القيمة الست عشرية الصيغة التالية:

[sign] ['0x'] integer ['.' fraction] ['p' exponent]

الإشارة sign هنا اختيارية وتأخذ القيمتين + أو -، أما العدد الصحيح integer والكسر fraction فهما سلسلتان نصيتان تضمّان أعدادًا بالصيغة الست عشرية، والأس هو عدد عشري يمكن أن يكون مسبوقًا بإشارة اختيارية.

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

هذه الصيغة مشابهة للصيغة المحددة في القسم 6.4.4.2 من المعيار C99، وللصيغة المستخدمة في الإصدار 1.5 وما بعده من لغة جافا. ويمكن استخدام مخرجات float.hex() بصورة خاصّة كعدد ست عشري ذي فاصلة عائمة في الشيفرات المكتوبة بلغتي C أو جافا، ويمكن كذلك لدالة float.fromhex()‎ استخدام السلاسل النصّية التي ينتجها محرّف التنسيق ‎%a في لغة C أو الدالة Double.toHexString في لغة جافا.

تجدر الإشارة إلى أنّ الأسّ يُكتب بالنظام العشري decimal وليس بالنظام الست عشري، وأنّ إجراء عملية الضرب على المعامل تجري بالرفع إلى الأسّ 2.

أمثلة

تمثّل السلسلة الست عشرية 0x3.a7p10 العدد العشري ‎(3+ 10./16 + 7./16**2) * 2.0**10‎ أو 3740.0:

>>> float.fromhex('0x3.a7p10')
3740.0

ينتج عن التحويل العكسي للرقم 3740.0 إلى النظام الست عشري سلسلة نصّية تتضمّن قيمة مختلفة تمثّل العدد نفسه:

>>> float.hex(3740.0)
'0x1.d380000000000p+11'

انظر أيضًا

  • الأعداد العشرية في بايثون.
  • التابع float.as_integer_ratio(): إعادة زوج من الأعداد الصحيحة التي تكون نسبتها مساوية للعدد العشري تمامًا، ويكون المقام في هذه النسبة موجبًا.
  • التابع float.is_integer()‎: اختبار ما إذا كان العدد العشري محدودًا (finite) ويمتلك قيمة صحيحة أم لا.
  • التابع float.hex()‎: إعادة العدد العشري ذا الفاصلة العائمة كسلسلة نصية تتضمن التمثيل الست عشري لذلك العدد.

مصادر