मेरे पास दो फ्लोटिंग पॉइंट नंबर a
और b
हैं। मैं जांच करना चाहता हूं कि क्या उनके अलग-अलग लक्षण हैं। देखने का आसान तरीका है
bool b = a * b < 0;
लेकिन दो नंबर बहुत छोटे हैं और एक * बी कम हो सकता है। इसे जांचने का कोई और सरल तरीका?
किसी को भी लगता है कि यह एक डुप्लिकेट प्रश्न है, कृपया मुझे एक उत्तर दें जो बिल्कुल a * b < 0
स्थिति से मेल खाता है। नोट यहाँ 0 का संकेत मेरे प्रश्न में अपरिभाषित है।
2 जवाब
आप निम्नानुसार std :: signbit का उपयोग कर सकते हैं:
bool c = std::signbit(a) == std::signbit(b);
एक अन्य तरीका std :: copysign का उपयोग इस प्रकार है:
bool c = std::copysign(a,b) == a;
एक और उपाय है:
Bool c = ((0> a) == (0> b));
संबंधित सवाल
नए सवाल
c++
C ++ एक सामान्य-प्रयोजन प्रोग्रामिंग भाषा है। यह मूल रूप से C के विस्तार के रूप में डिज़ाइन किया गया था और इसमें एक समान सिंटैक्स है, लेकिन यह अब पूरी तरह से अलग भाषा है। C ++ कंपाइलर के साथ संकलित कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें। विशिष्ट मानक संशोधन [C ++ 11], [C ++ 14], [C ++ 17], [C ++ 20] या [C ++ 23], आदि से संबंधित प्रश्नों के लिए संस्करण-विशिष्ट टैग का उपयोग करें। ।