2011-12-28 14 views
5

मुझे लगता है कि दोनों को करने के लिए एक समारोह होना चाहिए। मुझे लगता है कि fabs सकारात्मक करने के लिए नकारात्मक करेंगे।सकारात्मक संख्या को नकारात्मक और इसके विपरीत कैसे बदलें?

लेकिन आसपास के अन्य तरीकों के बारे में निश्चित नहीं है?

उत्तर

11

num *= -1 सकारात्मक से नकारात्मक और इसके विपरीत संकेत को बदल देगा।

+1

हस्ताक्षर बदलना '-' ऑपरेटर का उपयोग करके अधिक मूर्खतापूर्वक किया जाता है। यह मूल रूप से एक गुणात्मक के बजाय एक additive ऑपरेशन है। –

11

मैं नहीं बल्कि इस प्रकार लिख होगा:

num = -num; 

यह एक गुणा की जरूरत नहीं होगी, बस हस्ताक्षर बदलते।

+0

आप 'num = (- 1^num) ++;' का उपयोग करके घटाव से बच सकते हैं। बेशक, केवल पूर्णांक के लिए। – Gabriel

+1

कंप्यूटर्स को अनुकूलित करने से गुणा या यहां तक ​​कि किसी भी मामले में असाइनमेंट का उपयोग नहीं किया जाएगा: भले ही आप 'num = -1 * num' लिखते हैं, आधुनिक कंपाइलर गुणा को ऑप्टिमाइज़ करेंगे, और' एनईजी $ num' निर्देश का उपयोग संख्या को अस्वीकार करने के लिए करेंगे जगह। – dasblinkenlight

+0

संकेत बदलना गुणा का उपयोग करने से बेहतर है क्योंकि वास्तव में संख्या गुणा करेगा और निश्चित रूप से प्रभाव संकेत को बदल देगा, फिर भी गुणा संख्या पर। –

संबंधित मुद्दे