صفر موقع

الصفر المُوَقَّع هو الصفر مع إشارة مُرتبطة به . في الحساب العادي، لا يحمل العدد 0 إشارة، و-0 و+0 و0 هي ثلاث طرق لكتابة العدد نفسه. مع ذلك، في الحوسبة ، تسمح بعض تمثيلات الأعداد بوجود صفرين، يُشار إليهما غالبًا بـ -0 ( صفر سالب ) و +0 ( صفر موجب )، ويُعتبران متساويين في عمليات المقارنة العددية، لكنهما قد يختلفان في سلوكهما في عمليات مُحددة. يحدث هذا في تمثيلات الأعداد الصحيحة المُوَقَّعة باستخدام الإشارة والمقدار ، وفي مُعظم تمثيلات الأعداد العشرية . يُعبَّر عن العدد 0 عادةً بـ +0.

يتطلب معيار IEEE 754 للحسابات العشرية (المستخدم حاليًا في معظم الحواسيب ولغات البرمجة التي تدعم الأعداد العشرية) وجود كل من +0 و -0. ويمكن اعتبار حساباته نموذجًا لخط الأعداد الحقيقية الموسع ( الأعداد الحقيقية التي تشمل العددين +∞ و -∞). في  حسابات IEEE 754، فإن 1 / -0  = -∞  و 1 / +0 = + ∞؛ أما القسمة ± 0 / ±0 و ± / ± فتُرجع القيمة " ليس عددًا " ( NaN).  

يعكس الصفر ذو الإشارة السالبة مفهوم التحليل الرياضي المتمثل في الاقتراب من الصفر من الأسفل كحدٍّ أحادي الجانب ، والذي يُمكن التعبير عنه بـ x  0 أو x  0− أو x  ↑0. ويمكن استخدام الرمز "−0" بشكل غير رسمي للدلالة على عدد سالب تم تقريبه إلى الصفر. كما أن لمفهوم الصفر السالب بعض التطبيقات النظرية في الميكانيكا الإحصائية وغيرها من التخصصات.

يُزعم أن تضمين الصفر المُوَقَّع في معيار IEEE  754 يُسهِّل تحقيق الدقة العددية في بعض المسائل الحرجة، [ 1 ] لا سيما عند الحساب باستخدام الدوال الأولية المعقدة . [ 2 ] من جهة أخرى، يتعارض مفهوم الصفر المُوَقَّع مع الافتراض الشائع في الرياضيات بأن الصفر السالب هو نفسه الصفر. قد تُشكِّل التمثيلات التي تسمح بالصفر السالب مصدرًا للأخطاء في البرامج، إذا لم يُراعِ مطورو البرامج أنَّ تمثيلي الصفر، على الرغم من تساويهما في المقارنات العددية، يُنتجان نتائج مختلفة في بعض العمليات.

التمثيلات

يمكن استخدام ترميزات متنوعة في تنسيقات الأعداد الصحيحة الثنائية . في ترميز المتمم الثنائي الشائع ، يُمثل الصفر بدون إشارة. في تمثيل الإشارة والمقدار للأعداد الصحيحة باستخدام 1+7 بت، يُمثل الصفر السالب بسلسلة البتات . في تمثيل المتمم الأحادي ذي1000 0000 8 بت ، يُمثل الصفر السالب بسلسلة البتات . في جميع هذه الترميزات الثلاث، يُمثل الصفر الموجب أو بدون إشارة بـ . مع ذلك، فإن الترميزين الأخيرين (مع الصفر المُوقّع) غير شائعين في تنسيقات الأعداد الصحيحة. أما التنسيقات الأكثر شيوعًا التي تتضمن صفرًا مُوقّعًا فهي تنسيقات الفاصلة العائمة ( تنسيقات IEEE 754 أو ما شابهها)، والموصوفة أدناه.1111 11110000 0000

تمثيل الصفر السالب وفقًا لمعيار IEEE 754 في النظام الثنائي 32

في تنسيقات الأعداد العشرية الثنائية IEEE 754، تُمثَّل القيم الصفرية بأن يكون كل من الأس المتحيز والجزء الكسري صفرًا. أما الصفر السالب، فتكون بتة الإشارة فيه مضبوطة على واحد. يمكن الحصول على الصفر السالب نتيجةً لبعض العمليات الحسابية، مثلاً نتيجةً لنقص البيانات الحسابية في عدد سالب (وقد تكون هناك نتائج أخرى ممكنة)، أو −1.0 × 0.0ببساطة كـ −0.0.

في تنسيقات الفاصلة العائمة العشرية IEEE 754، يتم تمثيل الصفر السالب بواسطة أس يكون أي أس صالح في نطاق التنسيق، ويكون الجزء الكسري الحقيقي هو الصفر، وتكون بتة الإشارة هي واحد.

الخصائص والتعامل

يحدد معيار IEEE 754 للأعداد العشرية سلوك الصفر الموجب والصفر السالب في ظل عمليات حسابية مختلفة. وقد تعتمد النتيجة على إعدادات وضع التقريب الحالية في معيار IEEE .

الترميز

في الأنظمة التي تتضمن أصفارًا موقعة وغير موقعة، يكون الترميز0+{\displaystyle 0^{+}}و0-{\displaystyle 0^{-}}يُستخدم أحيانًا للأصفار الموقعة.

الحساب

الجمع والضرب عمليتان تبادليتان، ولكن هناك بعض القواعد الخاصة التي يجب اتباعها، مما يعني أن القواعد الرياضية المعتادة للتبسيط الجبري قد لا تنطبق.={\displaystyle =}تشير العلامة أدناه إلى نتائج الفاصلة العائمة التي تم الحصول عليها (وهي ليست عامل المساواة المعتاد).

يتم اتباع القاعدة المعتادة للإشارات دائمًا عند الضرب أو القسمة:

  • (-0)|x|=-0{\displaystyle (-0)\cdot \left|x\right|=-0\,\!}x{\displaystyle x}(يختلف عن ±∞)
  • -0|x|=-0{\displaystyle {\frac {-0}{\left|x\right|}}=-0\,\!}x{\displaystyle x}(يختلف عن 0)
  • (-0)(-0)=+0{\displaystyle (-0)\cdot (-0)=+0\,\!}

توجد قواعد خاصة لإضافة أو طرح الصفر الموقّع:

  • x+(±0)=x{\displaystyle x+(\pm 0)=x\,\!}x{\displaystyle x}(يختلف عن 0)
  • (-0)+(-0)=(-0)-(+0)=-0{\displaystyle (-0)+(-0)=(-0)-(+0)=-0\,\!}
  • (+0)+(+0)=(+0)-(-0)=+0{\displaystyle (+0)+(+0)=(+0)-(-0)=+0\,\!}
  • x-x=x+(-x)=+0{\displaystyle xx=x+(-x)=+0\,\!}(لأي عدد محدود)x{\displaystyle x}(−0 عند التقريب نحو القيم السالبة)

بسبب وجود الصفر السالب (وأيضًا عند استخدام وضع التقريب لأعلى أو لأسفل)، لا يمكن استبدال التعبيرين −( xy ) و (− x ) − ( −y ) ، لمتغيرات الفاصلة العائمة x و y ، بالتعبير yx . مع ذلك، يمكن استبدال (−0) + x بالتعبير x مع التقريب لأقرب عدد صحيح (باستثناء الحالات التي يكون فيها x قيمة NaN للإشارة ).

بعض القواعد الخاصة الأخرى:

  • |-0|=+0{\displaystyle \left|-0\right|=+0\,\!}
  • -0=-0{\displaystyle {\sqrt {-0}}=-0\,\!}[ 3 ]
  • -0-=+0{\displaystyle {\frac {-0}{-\infty }}=+0\,\!} (يتبع قاعدة الإشارة للقسمة)
  • |x|-0=-{\displaystyle {\frac {\left|x\right|}{-0}}=-\infty \,\!} (لغير الصفر)x{\displaystyle x}(يتبع قاعدة الإشارة للقسمة)
  • ±0×±=NaN{\displaystyle {\pm 0}\times {\pm \infty }={\mbox{NaN}}\,\!}( ليس رقمًا أو مقاطعة للشكل غير المحدد )
  • ±0±0=NaN{\displaystyle {\frac {\pm 0}{\pm 0}}={\mbox{NaN}}\,\!}

يؤدي قسمة عدد غير صفري على صفر إلى تفعيل علامة القسمة على صفر ، بينما تؤدي عملية حسابية تُنتج قيمة NaN إلى تفعيل علامة العملية غير الصالحة. ويتم استدعاء معالج الاستثناءات إذا كان مُفعّلاً للعلامة المقابلة.

المقارنات

وفقًا  لمعيار IEEE 754، يجب مقارنة الصفر السالب والصفر الموجب على أنهما متساويان باستخدام عوامل المقارنة (العددية) المعتادة، مثل عوامل ==المقارنة في لغتي C و Java . في هاتين اللغتين، قد يلزم استخدام حيل برمجية خاصة للتمييز بين القيمتين.

  • تحويل الرقم إلى نوع عدد صحيح، وذلك للنظر إلى بت الإشارة في نمط البتات؛
  • باستخدام دالة ISO C copysign()(عملية IEEE  754 copySign) لنسخ إشارة الصفر إلى رقم غير صفري؛
  • باستخدام ماكرو ISO C signbit()(عملية IEEE  754 isSignMinus) الذي يُرجع ما إذا كانت بتة الإشارة للرقم مضبوطة؛
  • بأخذ مقلوب الصفر للحصول على إما 1 / +0 = + أو 1 / −0 = −∞ (إذا لم يتم التقاط استثناء القسمة على الصفر ).    

ملاحظة: لن ينجح التحويل إلى النوع الصحيح عادةً، لأن معظم الأنظمة تستخدم الأعداد الصحيحة الموقعة بنظام المتمم الثنائي ، والتي لا يوجد لها سوى تمثيل واحد للصفر. وحتى عندما يحتوي التمثيل على صفرين، قد لا توفر اللغة، مثل لغة ISO C، وسائل للتمييز بينهما.

مع ذلك، قد توفر بعض لغات البرمجة عوامل مقارنة بديلة تميز بين الصفرين. وهذا هو الحال، على سبيل المثال، في الدالة الموجودة في فئة التغليفequals() في جافا . [ 4 ]java.lang.Double

بالقيم المقربة

بشكل غير رسمي، يمكن استخدام الرمز "-0" للدلالة على قيمة سالبة تم تقريبها إلى الصفر. قد يكون هذا الرمز مفيدًا عندما تكون الإشارة السالبة ذات دلالة؛ على سبيل المثال، عند جدولة درجات الحرارة المئوية ، حيث تعني الإشارة السالبة ما دون درجة التجمد .

في الميكانيكا الإحصائية

في الميكانيكا الإحصائية ، يُستخدم أحيانًا مصطلح درجات الحرارة السالبة لوصف الأنظمة التي تشهد انعكاسًا في توزيع السكان ، والذي يُمكن اعتباره ذا درجة حرارة أكبر من اللانهاية الموجبة، لأن معامل الطاقة في دالة توزيع السكان هو -1 / درجة الحرارة . في هذا السياق، تُعتبر درجة الحرارة -0 درجة حرارة (نظرية) أكبر من أي درجة حرارة سالبة أخرى، وتُمثل أقصى مدى مُمكن لانعكاس توزيع السكان، وهو النقيض المُطلق لدرجة الحرارة +0. [ 5 ]

انظر أيضاً

مراجع

  1. كاهان، ويليام . "قطع الفروع للدوال الأولية المعقدة، أو جزء الإشارة في كتاب "ضجة كبيرة حول لا شيء" (ملف PDF) . people.freebsd.org . مؤرشف (PDF) من الأصل بتاريخ 10 يونيو 2025. تم الاطلاع عليه بتاريخ 16 سبتمبر 2025 .
  2. ويليام كاهان ، المشتقات في المستوى المركب z ، ص 10.
  3. كوليشو، مايك (7 أبريل 2009). "الحساب العشري: العمليات الحسابية - الجذر التربيعي" . speleotrove.com ( شركة IBM ) . تم الاطلاع عليه في 7 ديسمبر 2010 . 
  4. "مزدوج" . مواصفات واجهة برمجة تطبيقات Java™ Platform، الإصدار القياسي 6. مركز مساعدة أوراكل. مؤرشف من الأصل في 4 أغسطس 2009.
  5. كيتل، تشارلز وهربرت كرومر (1980). الفيزياء الحرارية (الطبعة الثانية) . دبليو إتش فريمان وشركاه . ص 462. ISBN  0-7167-1088-9.
  • "أنواع الأعداد العشرية" . مواصفات لغة سي شارب من MSDN . مؤرشف من الأصل في 6 ديسمبر 2005. تم الاطلاع عليه في 15 أكتوبر 2005 .
  • "عامل القسمة" . مواصفات لغة سي شارب من MSDN . مؤرشف من الأصل في 21 نوفمبر 2005. تم الاطلاع عليه في 15 أكتوبر 2005 .
  • توماس وانغ (سبتمبر 2000) [مارس 2000]. "تعقيدات الأعداد العشرية في جافا" . مؤرشف من الأصل بتاريخ 21-09-2005.
  • مايك كوليشو (28 يوليو 2008). "مواصفات الحساب العشري، الإصدار 1.68" . سبيليوتروف . تم الاطلاع عليه بتاريخ 14 أغسطس 2008 .  مواصفات الفاصلة العائمة العشرية التي تتضمن الصفر السالب

للمزيد من القراءة