Python/float/fromhex
هذه الدالة هي تابع صنف (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'