"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ## لماذا يقوم عامل معامل Java (%) بإرجاع نتائج سلبية للأرقام السالبة؟

## لماذا يقوم عامل معامل Java (%) بإرجاع نتائج سلبية للأرقام السالبة؟

تم النشر بتاريخ 2024-11-08
تصفح:643

## Why Does Java\'s Modulus Operator (%) Return Negative Results for Negative Numbers?

حسابات المعامل في Java: التعامل مع الأرقام السالبة

في Java، غالبًا ما يؤدي إجراء عمليات المعامل على الأرقام السالبة إلى نتائج غير متوقعة. عند تطبيق عامل المعامل (%) على رقم سالب، قد يتوقع المرء الحصول على قيمة موجبة، ولكن في بعض الحالات، يُرجع نتيجة سلبية. لفهم هذا السلوك، من الضروري التعمق في طريقة العمل الداخلية لحسابات المعامل.

يقوم عامل المعامل بحساب الباقي عند قسمة رقم على آخر. بالنسبة للأرقام الموجبة، يكون الباقي موجبًا باستمرار. ومع ذلك، عند التعامل مع الأعداد السالبة، هناك تعريفان محتملان للمعامل:

  1. معامل الأرضية : يقوم هذا التعريف بتقريب الباقي إلى أقرب عدد صحيح نحو اللانهاية السالبة.
  2. معامل الاقتطاع: يقوم هذا التعريف بتقريب الباقي إلى الصفر (أي أنه يتجاهل أي جزء كسري).

تستخدم Java تعريف معامل الاقتطاع. وبالتالي، عند قسمة عدد سالب على عدد موجب، يكون الباقي سالبًا دائمًا. على سبيل المثال، -13 % 64 يتم تقييمه إلى -13 في Java لأن -13 مقسم على 64 بدون أي مكون كسري.

إذا رغب أحد في الحصول على باقي موجب للمدخلات السالبة، فيمكن استخدام مقتطف التعليمات البرمجية التالي:

int r = x % n;
if (r > 0 && x 

على العكس من ذلك، إذا فضل أحد الباقي السلبي للمدخلات السلبية، فيمكن استخدام مقتطف التعليمات البرمجية التالي:

int r = x % n;
if (r  

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

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3