تقنية

float.fromhex في بايثون: هل النص 12 يعني اثني عشر؟

النص 12 يعطي 18.0 مع float.fromhex، و12.0 مع float في المثال.
النص نفسه.

float.fromhex تعيد عددًا عائمًا من نص سداسي عشري. [1]

الخلاصة السريعة

لا؛ float.fromhex("12") تعطي 18.0 في المثال. [1]

  • float.fromhex تعيد عددًا عائمًا من نص سداسي عشري. [1]
  • غياب 0x ومقطع p مسموح؛ تبقى أرقام المعامل سداسية عشرية. [1]
  • مثال مؤلف على CPython 3.12.14: s="12"؛ a=float.fromhex(s) يعطي 18.0، وb=float(s) يعطي 12.0. [1]
  • الأس بعد p عشري ويحدد قوة 2: float.fromhex("0x1.2p3") تعيد 9.0. [1]
  • تحكم: float.fromhex("0x12p0") تعيد 18.0 أيضًا. [1]

نص سداسي عشري

float.fromhex تعيد عددًا عائمًا من نص سداسي عشري. [1]

صيغة مختصرة

غياب 0x ومقطع p مسموح؛ تبقى أرقام المعامل سداسية عشرية. [1]

النص نفسه

مثال مؤلف على CPython 3.12.14: s="12"؛ a=float.fromhex(s) يعطي 18.0، وb=float(s) يعطي 12.0. [1]

a=float.fromhex(s); b=float(s) [1]

المعامل 1+2/16 مضروبًا في 2**3 يساوي 9.0.
قوة اثنين.

قوة اثنين

الأس بعد p عشري ويحدد قوة 2: float.fromhex("0x1.2p3") تعيد 9.0. [1]

(1+2/16)*2**3 -> 9.0 [1]

تحكم: float.fromhex("0x12p0") تعيد 18.0 أيضًا. [1]

المراجع

  1. Python — float.fromhex

للتوسع: لغات البرمجة.

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