निरपेक्ष मूल्य खोजने की कोशिश और मैंने सोचा बस के साथ '~' या कुछ और संकेत को उलटने के लिए एक सरल तरीका नहीं था।वहाँ ग में एक ऑपरेटर नकारात्मक सकारात्मक या ठीक इसके विपरीत करने के लिए एक पूर्णांक नाव आदि के हस्ताक्षर को बदलने के लिए नहीं है?
उत्तर
float newValue = oldValue * -1;
या
float newValue = -(oldValue); //() aren't needed, I just use them out of habit
संकेत को उलटने के लिए, उसके सामने ऋणात्मक डाल दिया।
क्या डाउनवॉटर कृपया एक टिप्पणी छोड़ देगा। धन्यवाद। –
2 डाउनवॉट्स किसी कारण से नहीं? आ जाओ! –
शीर्षक सी में निषेध के लिए, प्रश्न की सामग्री को निरपेक्ष मूल्य के लिए पूछना, और कहीं और पोस्टर कहा सी के बजाय उद्देश्य सी आप उम्मीद नहीं कर सकते यदि आपका जवाब हर किसी को संतुष्ट करने के लिए कहता है। या कोई भी। या यहां तक कि मूल पोस्टर भी। आपको ऐसा करना चाहिए था जैसा मैंने किया था। –
-x आप एक्स के साइन-उल्टे मूल्य दे देंगे।
x = 0 - एक्स;
? या मुझे बिंदु याद आती है?
एकल निषेध ऑपरेटर -(expr)
आप क्या चाहते हैं वास्तव में करता है।
int x = -7;
int y = 7;
x = -x; // x is now 7
y = -y; // y is now -7
बिटवाइज़ पूरक ऑपरेटर ~(expr)
है कि आप का उल्लेख है, दूसरे हाथ पर, इनपुट में बिट्स के सभी flips।
यदि यह मदद करता है, तो एक मुद्दा यह है कि जंगली अनदेखी में कई पूर्ण मूल्य कार्यान्वयन यह है कि दिए गए निश्चित आकार के दो नकारात्मक पूरक पूर्णांक प्रकार के सबसे नकारात्मक मूल्य को अस्वीकार कर दिया जाएगा।
अच्छा जवाब ... –
मैंने देखा कि यह टैग किया गया उद्देश्य-सी। मैंने मूल रूप से "सी में" ऑपरेटर के लिए पूछने के शीर्षक के संबंध में उत्तर दिया था। शुक्र है, "ऑब्जेक्टिव-सी सी के शीर्ष पर एक पतली परत है, और इसके अलावा सी यह की एक सख्त superset एक ऑब्जेक्टिव-सी संकलक के साथ किसी भी सी कार्यक्रम संकलित करने के लिए संभव है, और स्वतंत्र रूप से एक ऑब्जेक्टिव-सी भीतर सी कोड शामिल करने के लिए कक्षा।" http://en.wikipedia.org/wiki/Objective-C –
-
काम करता है के साथ सरल निषेध, पर जवाब के सबसे तथ्य यह है कि ओपी निरपेक्ष मान करने के लिए कोशिश कर रहा है पर ध्यान नहीं दिया है। उसके लिए, सही उपकरण पूर्णांकों के लिए abs()
और तैरता के लिए fabs()
है। कोड क्रिस्टल स्पष्ट होगा और परिणाम आप उम्मीद करेंगे। (संपादित करें: इन उपकरणों के लिए प्रलेखन और बग को पढ़ना सुनिश्चित करें। निक निकलने के बाद, abs()
के साथ सबसे नकारात्मक संख्या को नकारात्मक मानते हुए नकारात्मक नकारात्मक संख्या देता है।)
सिद्धांत रूप में, मैं सहमत हूं और मैंने आपका उत्तर अप-वोट किया है। निस्संदेह, किसी को तर्कसंगत रूप से प्रोग्राम को समाप्त करने की उम्मीद है, या उठाए जाने का अपवाद, सबसे नकारात्मक पूर्णांक को अस्वीकार करने का प्रयास करते समय। Abs() के लिए लिंक किए गए दस्तावेज़ों में BUGS देखें। –
@ निक: 'abs()' आईफोन पर जाल नहीं है; यह सिर्फ INT_MIN लौटाएगा। –
@ निक: यह सी भावना में नहीं है। चूंकि स्ट्रॉस्ट्रप ने सी ++ के लिए इसी तरह के मामले में कहा, भाषा को तेज ऑपरेटर, और शायद चेक ऑपरेटर प्रदान करना चाहिए। यदि भाषा तेज ऑपरेटर प्रदान करती है, तो उपयोगकर्ता आवश्यकतानुसार चेक डाल सकता है, जबकि भाषा केवल चेक ऑपरेटर प्रदान करती है, तो उपयोगकर्ता को अनावश्यक होने पर और इसे तेज़ी से करने के दौरान चेक को हटाने का कोई तरीका नहीं है। यदि आप चाहें तो आप हमेशा 'int check_abs (int)' लिख सकते हैं। –
ट्रिकी विषय। फ़्लोटिंग पॉइंट नंबर पर हस्ताक्षर बदलने का सीधा तरीका चर के सबसे महत्वपूर्ण बिट के मान को फ़्लिप करना है। अन्य उत्तर में सूचीबद्ध अंकन संकलक, जो आमतौर पर ठीक है की दया पर है, लेकिन हमेशा नहीं। के लिए "फ्लोट एक्स", जवाब है:
*(unsigned int*)&x ^= (1<<31)
आप iPhone है, जो एक कॉर्टेक्स ए 8 प्रोसेसर (या यह कुछ ऐसा है) की तरह कुछ के लिए लिख रहे हैं, तो आप युगल से बचने के लिए है और यह भी से बचने के लिए चाहते हैं आंतरिक लूप में तैरने के साथ काम करते समय सशर्त। तो, आप यह कर सकते हैं:
*(unsigned int*)&x ^= ((x<0) << 31);
कौन सा एक शाखा अनुदेश का उपयोग किए बिना सकारात्मक को नकारात्मक हो जाएगा। इस एक आंतरिक पाश में है, तो यह एक और पद्धति का उपयोग करके, iPhone पर की तुलना में 5 से 20 गुना तेजी से हो जाएगा। यदि यह एक आंतरिक पाश में नहीं है, तो आप शायद बहुत ज्यादा परवाह नहीं करते हैं!
यह एक भद्दा समाधान, यकीन नहीं कि यहां क्या हुआ है। सही के लिए abs() के साथ नीचे दिए गए उत्तर को देखें।
हालांकि इस एक पुराने सवाल है, शायद इस जवाब आप में से कुछ बाहर में मदद मिलेगी है।मैं एक नंबर एक और परिणाम के आधार पर की एक सकारात्मक या नकारात्मक मान होना चाहता था (मान लीजिए कि एक बूलियन mustBeNegative) जिस तरह से मैं यह है क्या किया:
int number = 7;
if(mustBeNegative)
{
number = number * 1;
}
else
{
number = number * -1;
}
संख्या के आधार पर अपनी सकारात्मक या नकारात्मक मूल्य हो जाएगा " जरूरी है "मूल्य। जब संख्या पहले से ही ऋणात्मक संख्या थी तो यह सकारात्मक और वीजा बनाम बन जाएगा।
- 1. सकारात्मक संख्या को नकारात्मक और इसके विपरीत कैसे बदलें?
- 2. int के लिए पूर्णांक पास करना और इसके विपरीत
- 3. नकारात्मक छवि को सकारात्मक
- 4. int करने के लिए लंबे समय से कन्वर्ट, रखने के सकारात्मक/नकारात्मक/0
- 5. कैसे जावा में अपनी सबसे छोटी वेतन वृद्धि से एक नाव को बदलने के लिए?
- 6. अवहेलना + नाव के लिए अजगर में ऑपरेटर + obj
- 7. ठीक है एक पॉइंटर जारी करने के लिए ठीक है?
- 8. PHP में एक नाव के लिए एक पूर्णांक जोड़ा जा रहा है 1 दशमलव स्थान तक नाव दौर
- 9. "=" के लिए MySQL वाइल्डकार्ड - वहाँ एक
- 10. स्पेस के साथ एक स्ट्रिंग में विशेष वर्णों को बदलने के लिए RegEx? asp.net ग #
- 11. जब मैं नाव मूल्यों पर% ऑपरेटर का उपयोग करते हुए कहा कि मैं "बाइनरी% करने के लिए अमान्य operands ('नाव' और 'डबल' है)" त्रुटि मिलती है ग
- 12. क्या पूर्णांक को बूल में जाने या इसके विपरीत में परिवर्तित करने का कोई तरीका है?
- 13. एक बॉक्सिंग पूर्णांक कास्ट करने के लिए बाइट के लिए
- 14. क्या यह एक कारखाने विधि के लिए ठीक है वापस करने के लिए ठीक है?
- 15. सीएसएस एक छवि को बदलने के लिए
- 16. सी ++ में कच्चे मेमोरी के ब्लॉक को आवंटित करने के लिए - "ऑपरेटर नया" या "ऑपरेटर नया []" का उपयोग करना है?
- 17. ### करने के लिए एक नाव का प्रारूपण ## (दो दशमलव)
- 18. इसके लायक पूर्णांकों में कनवर्ट डेटाबेस स्ट्रिंग enums है? एक स्ट्रिंग के रूप में या एक पूर्णांक के रूप में:
- 19. 'फोरच' से 'फॉर' लूप या रीशेर्पर के विपरीत इसके विपरीत?
- 20. वहाँ एक रास्ता एसईएल कार्रवाई मुद्रित करने के लिए है?
- 21. एक निर्देशिका में एक पैकेज को बदलने के लिए कैसे?
- 22. सेना अजगर उत्पादन नहीं करने के लिए मानक फार्म/वैज्ञानिक अंकन में एक नाव/चरघातांकी रूप
- 23. वहाँ ऑब्जेक्टिव-सी में नहीं के बराबर करने के लिए भेजा जाल संदेशों के लिए एक रास्ता है?
- 24. अजगर "सुरक्षित" eval (स्ट्रिंग bool करने के लिए/पूर्णांक/नाव/कोई नहीं/स्ट्रिंग)
- 25. लाभ चौड़ाई पहले ओवर खोज या ठीक इसके विपरीत
- 26. वहाँ रेल 'respond_to format.xml, आदि ASP.Net MVC में पर रूबी के लिए एक समान है?
- 27. स्ट्रिंग से आईपी पते को बदलने के लिए और इसके विपरीत
- 28. "पूर्ण" यूनिट परीक्षणों को बदलने के लिए कब ठीक है?
- 29. एक "नहीं" ऑपरेटर लागू करने के लिए कैसे के लिए करता है, तो आईई स्थिति
- 30. किसी को नाम के मामलों को ठीक करने के लिए एक सुरुचिपूर्ण फ़ंक्शन पता है?
क्या इसके पहले से ही नकारात्मक तो क्या होगा? वे रद्द कर देंगे? – nickthedude
मैं उद्देश्य सी पता नहीं है, लेकिन अपने प्रश्न के आधार पर, वहाँ शायद एक पुस्तकालय समारोह है निरपेक्ष मूल्य प्राप्त करने के लिए ... पर हस्ताक्षर के साथ mucking मेरे लिए एक कोड गंध होगा। – overslacked