दिलचस्प पोस्ट
एन एरे को सम्मिलित करने का सबसे कारगर तरीका क्या है? जावास्क्रिप्ट में मैं UTC टाइमस्टैम्प कैसे प्राप्त करूं? थ्रेडपूल सर्वर के एसिंक / प्रतीक्षा के बराबर क्या है? जावास्क्रिप्ट से उद्देश्य-सी को कैसे कॉल करें? क्या जावास्क्रिप्ट में एक "अशक्त संकालन" ऑपरेटर है? सरणी में दूसरी सबसे बड़ी संख्या ढूँढना आखिरी पंक्ति में फ्लेक्स आइटम को उचित रूप से आकार देने और उसे संरेखित करना ओपनसीवी 2.4.3 को विजुअल सी ++ 2010 एक्सप्रेस में स्थापित करना सी ++: क्लास डेटा सदस्य को पॉइंटर ":: *" Parameters.Add और Parameters.AddWithValue के बीच अंतर क्या UIPageViewController में पृष्ठ को प्रोग्रामेटिक रूप से चालू करना संभव है? स्पष्ट रूप से फ़ाइलें बंद करना महत्वपूर्ण है? IntelliJ IDEA में चलते समय java.lang.ClassNotFoundException MySQL द्वारा पहले समूह द्वारा आदेश I आईओएस में सीजीआईमेज आरफ कैसे रिलीज कर सकता हूं

MATLAB में & amp और && के बीच अंतर क्या है?

MATLAB में && & और && & तार्किक ऑपरेटरों के बीच अंतर क्या है?

वेब के समाधान से एकत्रित समाधान "MATLAB में & amp और && के बीच अंतर क्या है?"

एकल एम्परसेंड और तार्किक एंड ऑपरेटर है। डबल एम्परसेंड एंड एंड फिर एक लॉजिकल एंड ऑपरेटर है जो शॉर्ट सर्किटिंग व्यवहार को नियोजित करता है। लघु सर्किटिंग का मतलब है कि दूसरे ऑपरेंड (दाहिने हाथ की ओर) का मूल्यांकन केवल तभी किया जाता है जब परिणाम पूरी तरह से पहले ऑपरेंड (बाएं हाथ की ओर)

ए और बी (ए और बी का मूल्यांकन किया जाता है)

ए एंड ए बी (बी का मूल्यांकन केवल अगर ए सच है)

&& और || स्केलर इनपुट और शॉर्ट-सर्किट हमेशा से लें | और अगर सरणी इनपुट और शॉर्ट-सर्किट केवल अगर / जब स्टेटमेंट्स में हों असाइनमेंट के लिए, बाद में शॉर्ट-सर्किट नहीं होता है

अधिक जानकारी के लिए इन डॉक्टर पृष्ठ देखें।

जैसा कि पहले ही दूसरों के द्वारा उल्लिखित है, & एक तार्किक और ऑपरेटर है और एंड शॉर्ट-सर्किट और ऑपरेटर है । ऑपरेटरों का मूल्यांकन कैसे किया जाता है और इसके साथ ही वे अलग-अलग होते हैं कि वे एरे या स्केलर पर काम करते हैं या नहीं:

  • & (और ऑपरेटर) और | (या ऑपरेटर) एक तत्व-वार फैशन में सरणियों पर काम कर सकते हैं।
  • && और || शॉर्ट-सर्किट संस्करण हैं, जिसके लिए दूसरा ऑपरेंड का मूल्यांकन तब होता है जब परिणाम पहले ऑपरेंड द्वारा पूरी तरह से निर्धारित नहीं होता है। ये केवल स्केल्स पर संचालित कर सकते हैं, सरण नहीं।

दोनों तार्किक और संचालन हैं && हालांकि, एक "शॉर्ट-सर्किट" ऑपरेटर है। MATLAB डॉक्स से:

वे शॉर्ट-सर्किट ऑपरेटर हैं, जिसमें वे अपने दूसरे ऑपरेंड का मूल्यांकन करते हैं, जब परिणाम पहले ऑपरेंड द्वारा पूरी तरह से निर्धारित नहीं होता है।

यहां अधिक देखें

अन्य भाषाओं के समान, 'और' एक तार्किक बिटwise ऑपरेटर है, जबकि '&&' एक तार्किक आपरेशन है।

उदाहरण के लिए (मेरी वाक्यविन्यास क्षमा करें)

यदि A = [True True False True] B = False

ए और बी = [झूठी झूठी झूठी झूठी]

.. या यदि बी = सच ए और बी = [यह सच सच झूठी सच]

'&&' के लिए, सही ऑपरेंड केवल अगर बाएं ऑपरेंड सही है, और परिणाम एक एकल बूलियन मान है की गणना की जाती है

x = (b ~ = 0) && (a / b> 18.5)

आशा है कि यह स्पष्ट है।

&& और || स्केलर पर संचालित शॉर्ट सर्किट ऑपरेटर्स हैं और और | हमेशा दोनों operands मूल्यांकन और सरणियों पर काम करते हैं।

सशर्त बयान (IF, WHILE, आदि) में उपयोग के लिए तर्कों का निर्माण करते समय अंगूठे का एक अच्छा नियम हमेशा && / / | रूपों, जब तक कि बहुत अच्छा कारण नहीं है। दो कारण हैं …

  1. जैसा कि दूसरों ने उल्लेख किया है, && /। के शॉर्ट सर्किट व्यवहार सबसे सी-जैसी भाषाओं के समान है आम तौर पर समानता / परिचितता को उसके पक्ष में एक बिंदु माना जाता है
  2. && या || का उपयोग करना रूपों आपको सदिश तर्कों के लिए अपने इरादे का निर्णय लेने के लिए पूर्ण कोड लिखने के लिए मजबूर करता है। जब एक = [1 0 0 1] और बी = [0 1 0 1], क्या एक और ख सच है या गलत है? मै MATLAB के नियमों को याद नहीं कर सकता, क्या आप कर सकते हैं? ज्यादातर लोग नहीं कर सकते दूसरी तरफ, यदि आप एंड एंड या उपयोग करते हैं, तो आप हालत को हल करने के लिए "पूर्ण में" कोड लिखने के लिए मजबूर हो गए हैं।

मैट्रैट के वैक्टर के आधार पर भरोसा करने के बजाय, और, | ऐसा करने से, कोड की ओर जाता है जो कि थोड़ा और अधिक वर्बोज़ होता है, लेकिन इसे बनाए रखने में बहुत अधिक सुरक्षित और आसान होता है