टूल
गाइड

व्यंजक कैलकुलेटर

जीवन

+ − × ÷ % ^ और कोष्ठक के साथ अंकगणितीय व्यंजक का सुरक्षित मूल्यांकन। कोई eval नहीं, कोई कोड निष्पादन नहीं।

100% क्लाइंट-साइड कोई बैकएंड नहीं
+ − * / % ^ और () का समर्थन। मूल्यांकन हेतु Enter।
परिणाम —
इस पृष्ठ पर

यह कैलकुलेटर क्या है?#

यह एक सादा अंकगणितीय कैलकुलेटर है जो आपके द्वारा टेक्स्ट के रूप में टाइप किए गए किसी गणितीय व्यंजक का मूल्यांकन करता है — (12 * 1.08) + 7 या 2^10 % 256 — और आपको संख्या देता है। यहाँ कोई फ़ंक्शन बटन नहीं हैं जिन्हें ठकठकाना हो; आप पूरा व्यंजक लिखते हैं और एक कुंजी दबाते हैं।

महत्वपूर्ण हिस्सा है यह कैसे बना है। वेब पर अधिकांश त्वरित कैलकुलेटर आपके स्ट्रिंग को JavaScript के eval() को सौंपकर धोखा देते हैं, जो किसी भी कोड को चलाता है — खिलौने हेतु ठीक है, पर किसी के चतुराई से कुछ चिपकाने पर बदसूरत। यह ऐसा नहीं करता: यह एक हाथ से लिखा रिकर्सिव-डिसेंट पार्सर चलाता है जो केवल संख्याएँ, कोष्ठक, और संकारक + - * / % ^ स्वीकार करता है। उस व्याकरण के बाहर कुछ भी तुरंत अस्वीकार होता है। परिणाम एक ऐसा कैलकुलेटर है जो वास्तव में कोड नहीं चला सकता, जो कि ठीक इसीलिए इसमें चिपकाना सुरक्षित है।

इसका उपयोग कैसे करें#

  1. अपना व्यंजक इनपुट बॉक्स में टाइप करें। रिक्त स्थान अनदेखा, इसलिए 1+2 और 1 + 2 एक ही हैं।
  2. संकारक: + - * / चार मूलभूत हेतु, % मॉड्यूलो (शेष) हेतु, ^ घात हेतु। कोष्ठक ( ) समूह। एकल ऋण काम करता है, इसलिए -5 + 3 है -2।
  3. दशमलव और वैज्ञानिक संकेतन ठीक हैं: 0.5, 1e3 (जो 1000 है), 2.5e-2।
  4. मूल्यांकन क्लिक करें (या Enter दबाएँ)। परिणाम पंक्ति संख्या दिखाती है, या एक इनलाइन संदेश समस्या का नाम लेता है — Division by zero, Unexpected character, Mismatched parentheses, इत्यादि — ताकि आप अनुमान लगाने के बजाय व्यंजक ठीक कर सकें कि क्या गलत हुआ।
  5. बाइनरी फ़्लोटिंग-पॉइंट धूलि स्वतः साफ़, इसलिए 0.1 + 0.2 0.3 दिखाता है, 0.30000000000000004 नहीं।

मुख्य विशेषताएँ#

  • कोई eval नहीं, कोई new Function नहीं, कोई पहचानकर्ता नहीं। केवल संख्याएँ और सात संकारक वर्ण स्वीकार्य — एक पूर्णतः बाउंडेड व्याकरण, मनमाना कोड निष्पादन नहीं।
  • सही संकारक पूर्ववत्ति (PEMDAS): कोष्ठक, फिर ^, फिर * / %, फिर + -।
  • दायाँ-सहयोजी घात। 2^3^2 का मूल्यांकन जैसे गणितज्ञ लिखते हैं (विस्तृत उदाहरण देखें)।
  • वैज्ञानिक संकेतन (6.022e23) और मॉड्यूलो (17 % 5) वास्तविक पीछे-लिफ़ाफ़े काम हेतु।
  • अनुकूल, विशिष्ट त्रुटियाँ जो विफलता का नाम लेती हैं (शून्य-से-विभाजन, कटा हुआ व्यंजक, गलत संख्या) त्रुटिपूर्ण स्थिति के साथ, एक चुप NaN के बजाय।

विस्तृत उदाहरण#

तीन व्यंजक जो प्रत्येक एक भिन्न व्यवहार दिखाते हैं। इन्हें एक-एक कर चिपकाएँ।

संकारक पूर्ववत्ति और समूहन।

(1 + 2) * 3 ^ 2

परिणाम: 27। कोष्ठक पहले 1 + 2 = 3 हेतु बाध्य करते हैं; फिर 3 ^ 2 गुणा से पहले मूल्यांकित होता है (घात * से कसकर बँधता है), 9 देता है; अंत में 3 * 9 = 27। बिना कोष्ठकों के, 1 + 2 * 3 ^ 2 1 + 18 = 19 होता।

दायाँ-सहयोजी घात।

2 ^ 3 ^ 2

परिणाम: 512, 64 नहीं। घात दायें सहयोजित होता है, इसलिए यह 2 ^ (3 ^ 2) = 2 ^ 9 = 512 है। यदि आप वास्तव में (2 ^ 3) ^ 2 = 64 चाहते थे, तो कोष्ठक लिखें।

बाइनरी धूलि हटाई गई।

0.1 + 0.2

परिणाम: 0.3। कच्चा बाइनरी फ़्लोटिंग-पॉइंट योग 0.30000000000000004 है; फ़ॉर्मेटर इसे सार्थक संख्यात्मक अंकों की समझदार संख्या तक पूर्णांकित करता है ताकि उत्तर वैसा पढ़े जैसा मनुष्य अपेक्षा करता है।

अक्सर पूछे जाने वाले प्रश्न#

मैं sin, log, sqrt, या pi क्यों नहीं उपयोग कर सकता?#

क्योंकि वे पहचानकर्ता हैं, और पहचानकर्ता जानबूझकर व्याकरण का हिस्सा नहीं हैं। हर नाम Unexpected character के रूप में अस्वीकृत होता है — वही पंक्ति है जो कैलकुलेटर को कभी कोड निष्पादित करने से रोकती है। यदि आपको sqrt(16) चाहिए, इसे 16 ^ 0.5 रूप में पुनः लिखें; log और sin हेतु, कोई वैज्ञानिक कैलकुलेटर उपयोग करें।

क्या 2^3^2 512 या 64 देता है?#

512। ^ संकारक दायाँ-सहयोजी है, गणित और अधिकांश प्रोग्रामिंग भाषाओं के घात संकारक द्वारा उपयोग की जाने वाली परंपरा से मेल खाता है। 2^3^2 2^(3^2) के रूप में पार्स होता है। 64 पाने हेतु, (2^3)^2 लिखें।

यहाँ % संकारक क्या कर रहा है?#

यह मॉड्यूलो है — पूर्णांक विभाजन के बाद शेष — “प्रतिशत” नहीं। 17 % 5 है 2, क्योंकि 17 को 5 से विभाजित करने पर शेष 2 बचता है। यह “क्या यह संख्या सम है?” (n % 2), मानों को किसी परास में लपेटने, या घड़ी अंकगणित हेतु आसान है। इसकी पूर्ववत्ति * और / जैसी ही है।

क्या मेरा व्यंजक किसी सर्वर को भेजा जाता है?#

नहीं। पार्सिंग और मूल्यांकन पूरी तरह आपके ब्राउज़र में एक हाथ से लिखे पार्सर के साथ होता है — कोई बैकएंड नहीं, और इनपुट कभी पृष्ठ से बाहर नहीं जाता।