संचालन का अंकगणितीय क्रम

गणित और कंप्यूटर प्रोग्रामिंग में, संचालन का क्रम (या ऑपरेटर पूर्वता) नियमों का एक संग्रह है जो किसी दिए गए गणितीय अभिव्यक्ति का मूल्यांकन करने के लिए पहले किस प्रक्रिया को निष्पादित करने के बारे में सम्मेलनों को दर्शाता है।

उदाहरण के लिए, गणित और अधिकांश कंप्यूटर भाषाओं में, जोड़ की तुलना में गुणा को उच्च प्राथमिकता दी जाती है, और यह आधुनिक गणितीय संकेतन की शुरुआत के बाद से ऐसा ही रहा है। इस प्रकार, अभिव्यक्ति 1 + 2 × 3 मान रखने के लिए समझा जाता है 1 + (2 × 3) = 7, और नहीं (1 + 2) × 3 = 9. जब 16वीं और 17वीं शताब्दी में प्रतिपादकों को पेश किया गया था, तो उन्हें जोड़ और गुणा दोनों पर प्राथमिकता दी गई थी, और उन्हें केवल उनके आधार के दाईं ओर एक सुपरस्क्रिप्ट के रूप में रखा जा सकता था। इस प्रकार 3 + 52 = 28 तथा 3 × 52 = 75.

संकेतन अस्पष्टता को खत्म करने के लिए ये सम्मेलन मौजूद हैं, जबकि अंकन को यथासंभव संक्षिप्त होने की अनुमति है। जहाँ पूर्ववर्ती परिपाटियों को ओवरराइड करने की इच्छा हो, या यहाँ तक कि केवल उन पर ज़ोर देने के लिए, ब्रैकेट#कोष्ठकों का उपयोग किया जा सकता है। उदाहरण के लिए, (2 + 3) × 4 = 20 जबकि (3 + 5)2 = 64 पूर्ववर्ती घातांक के अतिरिक्त को बल देता है। यदि गणितीय व्यंजक (जैसे नेस्टेड कोष्ठकों के मामले में) में कोष्ठकों के कई युग्मों की आवश्यकता होती है, भ्रम से बचने के लिए कोष्ठकों को Bracket#Square_bracketss या Bracket#Curly_brackets द्वारा प्रतिस्थापित किया जा सकता है, जैसा कि नीचे दिया गया है [2 × (3 + 4)] − 5 = 9.

परिभाषा
गणित, विज्ञान, प्रौद्योगिकी और कई कंप्यूटर प्रोग्रामिंग भाषाओं में उपयोग किए जाने वाले संचालन का क्रम यहां व्यक्त किया गया है:  # घातांक और जड़ निष्कर्षण
 * 1) गुणा और भाग (गणित)
 * 2) जोड़ना और घटाना

इसका मतलब यह है कि यदि, गणितीय अभिव्यक्ति में, दो ऑपरेटर (प्रोग्रामिंग) के बीच एक उप-अभिव्यक्ति प्रकट होती है, तो उपरोक्त सूची में ऊपर वाले ऑपरेटर को पहले लागू किया जाना चाहिए।

जोड़ और गुणन के क्रमविनिमेय संपत्ति और साहचर्य संपत्ति कानून किसी भी क्रम में शर्तों को जोड़ने और किसी भी क्रम में कारकों को गुणा करने की अनुमति देते हैं - लेकिन मिश्रित संचालन को संचालन के मानक क्रम का पालन करना चाहिए।

कुछ संदर्भों में, एक विभाजन को पारस्परिक (गुणात्मक व्युत्क्रम) द्वारा गुणन और विपरीत (योगात्मक व्युत्क्रम) के जोड़ से एक घटाव को बदलने में सहायक होता है। उदाहरण के लिए, कंप्यूटर बीजगणित में, यह एक को कम द्विआधारी संचालन को संभालने की अनुमति देता है, और बड़े भावों को सरल करते समय क्रमविनिमेयता और साहचर्यता का उपयोग करना आसान बनाता है (अधिक के लिए, देखें ). इस प्रकार 3 ÷ 4 = 3 × $1⁄4$; दूसरे शब्दों में, 3 और 4 का भागफल 3 और के गुणनफल के बराबर होता है $1⁄4$. भी 3 − 4 = 3 + (−4); दूसरे शब्दों में 3 और 4 का अंतर 3 और -4 के योग के बराबर है। इस प्रकार, 1 − 3 + 7 का योग माना जा सकता है 1 + (−3) + 7, और तीन जोड़ किसी भी क्रम में जोड़े जा सकते हैं, सभी मामलों में परिणाम के रूप में 5 दिया जा सकता है।

मूल प्रतीक √ पारंपरिक रूप से रेडिकैंड के ऊपर एक बार (जिसे विनकुलम (प्रतीक) कहा जाता है) द्वारा बढ़ाया जाता है (यह रेडिकैंड के चारों ओर कोष्ठक की आवश्यकता से बचा जाता है)। अस्पष्टता से बचने के लिए अन्य कार्य इनपुट के चारों ओर कोष्ठक का उपयोग करते हैं।  यदि इनपुट एकल संख्यात्मक चर या स्थिरांक है, तो कोष्ठकों को छोड़ा जा सकता है, जैसा कि मामले में है  तथा. एक और शॉर्टकट कन्वेंशन जो कभी-कभी उपयोग किया जाता है, जब इनपुट मोनोमियल होता है; इस प्रकार, इसके बजाय (sin(3))&thinsp;x, लेकिन sin x + y = sin(x) + y, इसलिये x + y एकपदी नहीं है। हालांकि, यह अस्पष्ट है और विशिष्ट संदर्भों के बाहर सार्वभौमिक रूप से समझ में नहीं आता है। कुछ कैलकुलेटर और प्रोग्रामिंग भाषाओं को फ़ंक्शन इनपुट के आसपास कोष्ठक की आवश्यकता होती है, कुछ को नहीं।

संचालन के सामान्य क्रम को ओवरराइड करने के लिए समूहीकरण के प्रतीकों का उपयोग किया जा सकता है। समूहीकृत प्रतीकों को एकल अभिव्यक्ति के रूप में माना जा सकता है। साहचर्य और वितरण कानूनों का उपयोग करके समूहीकरण के प्रतीकों को हटाया जा सकता है, साथ ही उन्हें हटाया जा सकता है यदि समूहीकरण के प्रतीक के अंदर की अभिव्यक्ति को पर्याप्त रूप से सरल किया जाता है ताकि उनके हटाने से कोई अस्पष्टता न हो।

उदाहरण

 * $$\sqrt{1 + 3} + 5 = \sqrt 4 + 5 = 2 + 5 = 7.$$

एक क्षैतिज आंशिक रेखा भी समूहीकरण के प्रतीक के रूप में कार्य करती है:
 * $$\frac{1 + 2}{3 + 4} + 5 = \frac{3}{7} + 5.$$

पढ़ने में आसानी के लिए, अन्य समूहीकरण चिह्न, जैसे घुंघराले ब्रेसिज़ { } या चौकोर कोष्ठक [ ], अक्सर कोष्ठकों के साथ प्रयोग किया जाता है. उदाहरण के लिए:
 * $$( [1 + 2] \div [3 + 4] ) + 5 = (3 \div 7) + 5 $$

स्मृति चिन्ह
छात्रों को नियमों को याद रखने में मदद करने के लिए अक्सर स्मृति-विज्ञान का उपयोग किया जाता है, जिसमें विभिन्न संक्रियाओं का प्रतिनिधित्व करने वाले शब्दों के पहले अक्षर शामिल होते हैं। अलग-अलग देशों में अलग-अलग स्मृति चिन्ह उपयोग में हैं। * संयुक्त राज्य अमेरिका में गणित शिक्षा में और फ्रांस में, परिवर्णी शब्द PEMDAS आम है। यह कोष्ठक, घातांक, गुणा/भाग, जोड़/घटाव के लिए है। PEMDAS को अक्सर स्कूलों में स्मरक प्लीज़ एक्सक्यूज़ माई डियर आंटी सैली तक विस्तारित किया जाता है।
 * कनाडा और न्यूज़ीलैंड BEDMAS का उपयोग करते हैं, जो कोष्ठक, घातांक, भाग/गुणा, जोड़/घटाव के लिए खड़ा है। * यूनाइटेड किंगडम, पाकिस्तान, भारत, बांग्लादेश में गणित की शिक्षा और ऑस्ट्रेलिया में गणित की शिक्षा में सबसे आम है और कुछ अन्य अंग्रेजी बोलने वाले देश BODMAS हैं, जिसका अर्थ या तो कोष्ठक, क्रम, भाग/गुणा, जोड़/घटाव या कोष्ठक, भाग/गुणा, जोड़/घटाव है। नाइजीरिया और कुछ अन्य पश्चिम अफ्रीकी देश भी BODMAS का उपयोग करते हैं। इसी तरह यूके में, 'BIDMAS' का भी उपयोग किया जाता है, जो कोष्ठक, सूचकांक, भाग/गुणा, जोड़/घटाव के लिए खड़ा होता है।

इस तरह लिखे जाने पर ये स्मृति चिन्ह भ्रामक हो सकते हैं। उदाहरण के लिए, ऊपर दिए गए किसी भी नियम की गलत व्याख्या करने का मतलब पहले जोड़, बाद में घटाना गलत तरीके से अभिव्यक्ति का मूल्यांकन करेगा


 * $$ a - b + c = (a - b) + c \ne a-(b+c)$$

mnemonics में जोड़ / घटाव की व्याख्या इस रूप में की जानी चाहिए कि किसी भी जोड़ और घटाव को बाएं से दाएं क्रम में किया जाना चाहिए। इसी प्रकार, अभिव्यक्ति a ÷ b × c कई तरीकों से पढ़ा जा सकता है, लेकिन स्मरक में गुणा/विभाजन का मतलब है कि गुणा और भाग बाएं से दाएं की ओर किया जाना चाहिए।


 * $$ a \div b \times c = (a \div b) \times c \ne a \div (b \times c) $$

जुगलबंदी द्वारा गुणन के उपयोग और स्लैश_(विराम चिह्न)#अंकगणित का उपयोग करके विभाजन का प्रतिनिधित्व करने के कारण होने वाली अतिरिक्त अस्पष्टताओं पर चर्चा की गई है #मिश्रित_विभाजन_और_गुणन। सामान्य तौर पर, अस्पष्टता से बचने का पक्का तरीका कोष्ठकों का उपयोग करना है।

सीरियल घातांक
यदि घातांक को सुपरस्क्रिप्ट संकेतन का उपयोग करके स्टैक्ड प्रतीकों द्वारा इंगित किया जाता है, तो सामान्य नियम ऊपर से नीचे काम करना है:   : जो आम तौर पर बराबर नहीं है (एबी)सी. यह सम्मेलन उपयोगी है क्योंकि एक्सपोनेंटिएशन # पहचान और गुण हैं जो (एबी)सी  = ए बीसी, इसलिए इसके लिए धारावाहिक घातांक का उपयोग करना अनावश्यक है।

हालांकि, कैरेट (^) या तीर (प्रतीक) (↑) के साथ ऑपरेटर नोटेशन का उपयोग करते समय, कोई सामान्य मानक नहीं है। उदाहरण के लिए, Microsoft Excel और संगणना प्रोग्रामिंग भाषा MATLAB मूल्यांकन करते हैं  के रूप मेंबी)c, लेकिन Google खोज और वोल्फ्राम अल्फा एक के रूप में(बी सी) . इस प्रकार   पहले मामले में 4,096 और दूसरे मामले में 262,144 का मूल्यांकन किया गया है।

एकात्मक ऋण चिह्न
यूनरी ऑपरेटर - (आमतौर पर माइनस पढ़ा जाता है) के संबंध में अलग-अलग प्रथाएं हैं। लिखित या मुद्रित गणित में, अभिव्यक्ति -32 का अर्थ समझा जाता है −(32) = −9.

कुछ एप्लिकेशन और प्रोग्रामिंग भाषाओं में, विशेष रूप से माइक्रोसॉफ्ट एक्सेल, प्लानमेकर (और अन्य स्प्रेडशीट एप्लिकेशन) और बीसी प्रोग्रामिंग लैंग्वेज में, बाइनरी ऑपरेटरों की तुलना में यूनरी ऑपरेटरों की उच्च प्राथमिकता होती है, यानी, यूनरी माइनस में एक्सपोनेंटिएशन की तुलना में उच्च प्राथमिकता होती है, इसलिए उन भाषाओं में - 32 की व्याख्या की जाएगी (−3)2 = 9. यह बाइनरी माइनस ऑपरेटर पर लागू नहीं होता -; उदाहरण के लिए Microsoft Excel में जबकि सूत्र,   तथा   वापसी 4, सूत्र   तथा   वापसी -4।

मिश्रित विभाजन और गुणा
कुछ अकादमिक साहित्य में, गुणन को जक्सटैपिशन (जिसे निहित गुणन के रूप में भी जाना जाता है) द्वारा निरूपित किया जाता है, इसकी व्याख्या विभाजन की तुलना में उच्च पूर्वता के रूप में की जाती है, ताकि 1 ÷ 2n बराबरी 1 ÷ (2n), नहीं (1 ÷ 2)n. उदाहरण के लिए, भौतिक समीक्षा पत्रिकाओं के लिए पांडुलिपि जमा करने के निर्देश बताते हैं कि विभाजन की तुलना में गुणन की उच्च प्राथमिकता है, और यह प्रमुख भौतिकी पाठ्यपुस्तकों में भी देखा गया सम्मेलन है जैसे लेव लैंडौ और एवगेनी लाइफशिट्ज द्वारा सैद्धांतिक भौतिकी के पाठ्यक्रम और भौतिकी पर फेनमैन व्याख्यान। इस अस्पष्टता का अक्सर इंटरनेट मेम्स जैसे शोषण किया जाता है8÷2(2+2).

अस्पष्टता विभाजन के लिए स्लैश (विराम चिह्न)#Arithmetic, '/' के उपयोग के कारण भी हो सकती है। वास्तविक समीक्षा प्रस्तुत करने के निर्देश फॉर्म a/b/c; इसके बजाय (a/b)/c या a/(b/c) लिखकर अस्पष्टता से बचा जा सकता है।

कैलकुलेटर
विभिन्न कैलकुलेटर संचालन के विभिन्न आदेशों का पालन करते हैं। <रेफरी नाम = ब्रोंस्टीन_1987 /> स्टैक के बिना कई सरल कैलकुलेटर अलग-अलग ऑपरेटरों को दी गई प्राथमिकता के बिना बाएं से दाएं काम करने वाले चेन इनपुट को लागू करते हैं, उदाहरण के लिए टाइपिंग
 * पैदावार 9,

जबकि अधिक परिष्कृत कैलकुलेटर अधिक मानक प्राथमिकता का उपयोग करेंगे, उदाहरण के लिए टाइपिंग
 * उपज 7.

माइक्रोसॉफ्ट कैलक्यूलेटर प्रोग्राम पूर्व को अपने मानक दृश्य में और बाद में अपने वैज्ञानिक और प्रोग्रामर विचारों में उपयोग करता है।

चेन इनपुट दो ऑपरेंड और एक ऑपरेटर की अपेक्षा करता है। जब अगला ऑपरेटर दबाया जाता है, तो अभिव्यक्ति का तुरंत मूल्यांकन किया जाता है और उत्तर अगले ऑपरेटर का बायां हाथ बन जाता है। उन्नत कैलकुलेटर आवश्यक रूप से समूहीकृत संपूर्ण अभिव्यक्ति के प्रवेश की अनुमति देते हैं, और केवल तब मूल्यांकन करते हैं जब उपयोगकर्ता बराबर चिह्न का उपयोग करता है।

कैलकुलेटर घातांकों को बाएँ से दाएँ संबद्ध कर सकते हैं। उदाहरण के लिए, अभिव्यक्ति  एक के रूप में व्याख्या की जाती है(बी c) TI-92 और TI-30#Model|TI-30XS MultiView पर मैथप्रिंट मोड में, जबकि इसकी व्याख्या इस रूप में की जाती है (aबी)c क्लासिक मोड में TI-30#मॉडल|TI-30XII और TI-30#मॉडल|TI-30XS मल्टीव्यू पर।

एक अभिव्यक्ति की तरह  TI-82 के साथ-साथ कई आधुनिक Casio कैलकुलेटर द्वारा 1/(2x) के रूप में व्याख्या की जाती है, लेकिन TI-83 द्वारा (1/2)x और 1996 से जारी हर दूसरे TI कैलकुलेटर के रूप में, साथ ही बीजगणितीय अंकन वाले सभी हेवलेट-पैकार्ड कैलकुलेटर द्वारा। जबकि निहित गुणन की प्रकृति के कारण कुछ उपयोगकर्ताओं द्वारा पहली व्याख्या की उम्मीद की जा सकती है, बाद वाला नियम के अनुरूप अधिक है कि गुणन और विभाजन समान प्राथमिकता के हैं।

जब उपयोगकर्ता अनिश्चित होता है कि कैलकुलेटर अभिव्यक्ति की व्याख्या कैसे करेगा, तो अस्पष्टता को दूर करने के लिए कोष्ठक का उपयोग किया जा सकता है।

मानक गणितीय संकेतन में इन्फिक्स संकेतन के अनुकूलन के कारण संचालन का क्रम उत्पन्न हुआ, जो कि ऐसे सम्मेलनों के बिना सांकेतिक रूप से अस्पष्ट हो सकता है, जैसा कि प्रत्यय संकेतन या उपसर्ग संकेतन के विपरीत होता है, जिन्हें संचालन के आदेश की आवश्यकता नहीं होती है। इसलिए, पूर्वता के सही क्रम में अभिव्यक्ति दर्ज करने के लिए स्टैक (डेटा संरचना) का उपयोग करके रिवर्स पोलिश नोटेशन (RPN) का उपयोग करने वाले कैलकुलेटर को कोष्ठक या निष्पादन के किसी संभावित मॉडल-विशिष्ट क्रम की आवश्यकता नहीं होती है।

प्रोग्रामिंग लैंग्वेज
कुछ प्रोग्रामिंग लैंग्वेज पूर्ववर्ती स्तरों का उपयोग करती हैं जो आमतौर पर गणित में उपयोग किए जाने वाले क्रम के अनुरूप होते हैं, हालांकि अन्य, जैसे कि एपीएल (प्रोग्रामिंग लैंग्वेज), स्मॉलटॉक, ओकाम (प्रोग्रामिंग लैंग्वेज) और मैरी (प्रोग्रामिंग लैंग्वेज), का कोई ऑपरेटर (प्रोग्रामिंग) पूर्ववर्ती नियम नहीं है (एपीएल में, मूल्यांकन सख्ती से बाएं से दाएं है; स्मॉलटाक में, यह सख्ती से है बाएं से दायां)।

इसके अलावा, क्योंकि कई ऑपरेटर साहचर्य नहीं हैं, किसी भी एक स्तर के भीतर ऑर्डर आमतौर पर बाएं से दाएं समूह द्वारा परिभाषित किया जाता है ताकि  के रूप में समझा जाता है  इसके बजाय ; ऐसे ऑपरेटरों को वाम साहचर्य कहा जाता है। अपवाद मौजूद हैं; उदाहरण के लिए, सूचियों पर विपक्ष ऑपरेशन के अनुरूप ऑपरेटरों वाली भाषाएं आमतौर पर उन्हें दाएं से बाएं समूह बनाती हैं (दाएं सहयोगी), उदा। हास्केल (प्रोग्रामिंग भाषा) में,.

सी (प्रोग्रामिंग लैंग्वेज) के निर्माता डेनिस रिची ने सी में वरीयता के बारे में कहा है (प्रोग्रामिंग भाषाओं द्वारा साझा किया गया है जो सी से उन नियमों को उधार लेते हैं, उदाहरण के लिए, सी ++, पर्ल और पीएचपी) कि बिटवाइज़ को स्थानांतरित करना बेहतर होता संबंधपरक ऑपरेटर के ऊपर ऑपरेशन। कई प्रोग्रामर इस क्रम के आदी हो गए हैं, लेकिन हाल ही में पायथन और रूबी जैसी लोकप्रिय भाषाओं में यह क्रम उलटा हुआ है। कई सी-शैली भाषाओं में पाए जाने वाले ऑपरेटर (प्रोग्रामिंग) के सापेक्ष पूर्ववर्ती स्तर इस प्रकार हैं:

उदाहरण: (ध्यान दें: नीचे दिए गए उदाहरणों में, '≡' का अर्थ समान है, और उदाहरण अभिव्यक्ति के हिस्से के रूप में उपयोग किए जाने वाले वास्तविक असाइनमेंट ऑपरेटर के रूप में व्याख्या नहीं किया जाना चाहिए।) (पाइथन (प्रोग्रामिंग भाषा), रूबी (प्रोग्रामिंग भाषा), पारी/जीपी और अन्य लोकप्रिय भाषाओं में,  ≡  .)

सोर्स-टू-सोर्स कंपाइलर्स जो कई भाषाओं में संकलित होते हैं, उन्हें स्पष्ट रूप से भाषाओं में संचालन के विभिन्न क्रम के मुद्दे से निपटने की आवश्यकता होती है। उदाहरण के लिए हैक्स ऑर्डर को मानकीकृत करता है और जहां उचित हो वहां कोष्ठक डालकर इसे लागू करता है।

बाइनरी ऑपरेटर वरीयता के बारे में सॉफ्टवेयर डेवलपर ज्ञान की सटीकता को स्रोत कोड में उनकी आवृत्ति की आवृत्ति का बारीकी से पालन करने के लिए पाया गया है।

यह भी देखें

 * सामान्य ऑपरेटर संकेतन (अधिक औपचारिक विवरण के लिए)
 * हाइपरऑपरेशन
 * संचालक साहचर्य
 * ऑपरेटर ओवरलोडिंग
 * सी और सी ++ में ऑपरेटर प्राथमिकता
 * पोलिश संकेतन
 * रिवर्स पोलिश नोटेशन