Avatar ·

دالة sign القياسية (signum, sgn) في C++: هل هي موجودة وكيفية تنفيذها؟

مرحباً أيها الزملاء! أنا أكتب برنامجاً صغيراً بلغة C++ للتحليل العددي، واحتجت إلى دالة تُرجع إشارة الرقم: -1 للأعداد السالبة، 0 للصفر، و1 للأعداد الموجبة. في الرياضيات تُسمى signum أو sgn. لقد بحثت في توثيق و ، لكنني لم أجد شيئاً مشابهاً. في Python يوجد numpy.sign()، وفي MATLAB يوجد sign()، أما في C++ فالصمت. هل حقاً لا توجد في المكتبة القياسية لـ C++ مثل هذه الوظيفة الأساسية؟ إليك مثالاً لما أريد فعله: ```cpp #include #include // ربما هنا؟ int main() { double x = -5.7; // أتمنى كتابة شيء مثل: // int s = sign(x); // لكن المترجم يشتكي من أن sign غير معلن. // أضطر لكتابة حلول بديلة: int s; if (x > 0) s = 1; else i