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

من موسوعة حسوب
< Python‏ | float
لا ملخص تعديل
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة <code>fromhex()‎</code> في بايثون}}</noinclude>
<noinclude>{{DISPLAYTITLE:الدالة <code>float.fromhex()‎</code> في بايثون}}</noinclude>
هذه الدالة هي تابع صنف (Class method) يعيد العدد العشري الذي يمكن تمثيله باستخدام السلسلة النصية التي تتضمن الصيغة الست عشرية.
هذه الدالة هي تابع صنف (Class method) يعيد العدد العشري الذي يمكن تمثيله باستخدام السلسلة النصية التي تتضمن الصيغة الست عشرية.



مراجعة 13:22، 1 مايو 2018

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

انظر أيضًا

مصادر