CCalculate.Studio

% मॉड्यूलो कैलकुलेटर

मॉड्यूलो संक्रिया वह शेषफल निकालती है जो एक संख्या को दूसरी से भाग देने पर बचता है। यह कैलकुलेटर फ्लोर्ड (गणितीय) परंपरा से a mod b की गणना करता है, जिसमें परिणाम का चिह्न हमेशा भाजक के चिह्न से मेल खाता है, और ट्रंकेटेड (प्रोग्रामिंग-भाषा) परिणाम भी दिखाता है, जिसमें चिह्न भाज्य से मेल खाता है — दोनों परंपराएँ धनात्मक संख्याओं के लिए सहमत होती हैं लेकिन जब भी कोई ऋणात्मक मान शामिल हो, अलग हो जाती हैं।

आख़िरी बार समीक्षा: 2026-07-07
Add as preferred on Google

साइन परंपराओं को समझना

जब दोनों संख्याएँ धनात्मक हों तो दोनों परंपराएँ समान परिणाम देती हैं, लेकिन जब भी कोई ऋणात्मक मान शामिल हो, नीचे दिखाए अनुसार भिन्न हो जाती हैं।

abफ्लोर्ड परिणाम (b का चिह्न)ट्रंकेटेड परिणाम (a का चिह्न)
13533 (समान — दोनों धनात्मक)
−1352−3
13−5−23
−13−5−3−3 (समान — दोनों ऋणात्मक)
  • फ्लोर्ड मॉड्यूलो (यहाँ डिफ़ॉल्ट रूप से प्राथमिक परिणाम के रूप में उपयोग किया गया) शुद्ध गणित और संख्या सिद्धांत में सबसे सामान्य परंपरा है, और पायथन के अंतर्निहित % ऑपरेटर से मेल खाता है।
  • ट्रंकेटेड मॉड्यूलो (द्वितीयक परिणाम के रूप में दिखाया गया) जावास्क्रिप्ट, C, C++, जावा और अधिकांश C-परिवार की भाषाओं के अंतर्निहित % ऑपरेटर से मेल खाता है, जहाँ शेषफल का चिह्न भाज्य का अनुसरण करता है।
  • शून्य से मॉड्यूलो अपरिभाषित है और इस कैलकुलेटर द्वारा गणना नहीं की जाती; भाजक एक शून्येतर संख्या होनी चाहिए।

मॉड्यूलो संक्रिया क्या है?

मॉड्यूलो संक्रिया, जिसे a mod b (या a % b) लिखा जाता है, वह शेषफल देती है जब a को b से भाग दिया जाता है। उदाहरण के लिए, 13 mod 5 = 3, क्योंकि 13 = 2 × 5 + 3 — 13 को 5 से भाग देने पर भागफल 2 मिलता है और 3 शेष रहता है। मॉड्यूलो संख्या सिद्धांत (मॉड्यूलर/घड़ी अंकगणित), कंप्यूटर विज्ञान (हैशिंग, चक्रीय अनुक्रमण, चेकसम) और शेषफल व चक्रों (जैसे सप्ताह के दिन या घड़ी के घंटे) से जुड़े रोज़मर्रा के तर्क के लिए बुनियादी है।

ऋणात्मक संख्याएँ शामिल होने पर परिणाम का चिह्न तय करने की दो व्यापक रूप से प्रयुक्त गणितीय परंपराएँ हैं: फ्लोर्ड मॉड्यूलो, जिसमें परिणाम हमेशा भाजक b के समान चिह्न लेता है, और ट्रंकेटेड मॉड्यूलो, जिसमें परिणाम हमेशा भाज्य a के समान चिह्न लेता है। दोनों 'शेषफल' की गणितीय रूप से मान्य परिभाषाएँ हैं और जब a और b दोनों धनात्मक हों तो पूरी तरह सहमत होती हैं; ये केवल तब भिन्न होती हैं जब कोई ऋणात्मक मान शामिल हो।

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

इस मॉड्यूलो कैलकुलेटर का उपयोग कैसे करें

  1. भाज्य (a) दर्ज करें — जिस संख्या को भाग दिया जा रहा है।
  2. भाजक (b) दर्ज करें — जिस संख्या से भाग दिया जा रहा है। भाजक 0 नहीं हो सकता, क्योंकि शून्य से भाग (और मॉड्यूलो) अपरिभाषित है।
  3. फ्लोर्ड-परंपरा परिणाम पढ़ें (चिह्न हमेशा भाजक से मेल खाता है) — यह संख्या सिद्धांत में सबसे सामान्य गणितीय परंपरा है।
  4. यदि आपको किसी विशेष प्रोग्रामिंग भाषा के अंतर्निहित % ऑपरेटर से मिलान करना है, तो ट्रंकेटेड-परंपरा परिणाम (चिह्न हमेशा भाज्य से मेल खाता है) से तुलना करें, और विस्तृत विवरण के लिए भागफल व पूर्ण भाग समीकरण देखें।

फ्लोर्ड बनाम ट्रंकेटेड मॉड्यूलो सूत्र

फ्लोर्ड: q = ⌊a ÷ b⌋, r = a − b × q (r का चिह्न भाजक b से मेल खाता है)
ट्रंकेटेड: q = trunc(a ÷ b), r = a − b × q (r का चिह्न भाज्य a से मेल खाता है)
उदाहरण: 13 mod 5 = 3 (दोनों परंपराएँ सहमत)
उदाहरण: −13 mod 5 → फ्लोर्ड = 2, ट्रंकेटेड = −3 (परंपराएँ भिन्न)

फ्लोर्ड मॉड्यूलो भागफल को q = ⌊a ÷ b⌋ (नीचे की ओर, ऋण अनंत की ओर पूर्णांकित) के रूप में परिभाषित करता है, फिर r = a − b×q। यह सुनिश्चित करता है कि शेषफल r हमेशा भाजक b के समान चिह्न रखे (या 0 हो), और जब b > 0 हो तो 0 ≤ r < |b| संतुष्ट करे। हल किया उदाहरण: 13 mod 5: q = ⌊13/5⌋ = 2, r = 13 − 5×2 = 3।

ऋणात्मक भाज्य वाला हल किया उदाहरण: −13 mod 5 (फ्लोर्ड): q = ⌊−13/5⌋ = ⌊−2.6⌋ = −3, r = −13 − 5×(−3) = −13 + 15 = 2। ध्यान दें कि परिणाम धनात्मक है (धनात्मक भाजक से मेल खाता हुआ), जो नीचे दिए ट्रंकेटेड परिणाम से अलग है।

ट्रंकेटेड मॉड्यूलो भागफल को ऋण अनंत की ओर के बजाय शून्य की ओर पूर्णांकित करके परिभाषित करता है, फिर शेषफल की गणना उसी तरह करता है; यह सुनिश्चित करता है कि शेषफल हमेशा भाज्य a के समान चिह्न रखे (या 0 हो)। हल किया उदाहरण: −13 mod 5 (ट्रंकेटेड, जावास्क्रिप्ट/C/जावा का % परिणाम): भागफल −2.6 को शून्य की ओर पूर्णांकित कर −2 करता है, इसलिए r = −13 − 5×(−2) = −13 + 10 = −3 — ऋणात्मक, ऋणात्मक भाज्य से मेल खाता हुआ, उन्हीं इनपुट के लिए फ्लोर्ड परिणाम +2 के विपरीत।

सामान्य गलतियाँ

  • यह मान लेना कि सभी प्रोग्रामिंग भाषाएँ ऋणात्मक संख्याओं के लिए a mod b की गणना समान तरीके से करती हैं — जावास्क्रिप्ट, C, C++ और जावा ट्रंकेटेड मॉड्यूलो का उपयोग करते हैं, जबकि पायथन और कई गणित ग्रंथ फ्लोर्ड मॉड्यूलो का उपयोग करते हैं, और जब भी a ऋणात्मक हो, परिणाम अलग होते हैं।
  • यह भूल जाना कि फ्लोर्ड परिणाम हमेशा भाजक का चिह्न रखता है, भाज्य का नहीं — यह ट्रंकेटेड (जावास्क्रिप्ट-शैली) परंपरा के परिणाम के विपरीत है।
  • a mod 0 की गणना करने की कोशिश करना — भाग की तरह मॉड्यूलो संक्रिया भी तब अपरिभाषित है जब भाजक शून्य हो।
  • गैर-पूर्णांक इनपुट का उपयोग करना और पूर्णांक-शैली के मॉड्यूलर अंकगणित की अपेक्षा करना — यह कैलकुलेटर वास्तविक संख्याएँ स्वीकार करता है और वही फ्लोर/ट्रंकेट तर्क लागू करता है, लेकिन कई क्लासिक मॉड्यूलर-अंकगणित गुण (जैसे घड़ी अंकगणित) विशेष रूप से पूर्णांकों के लिए परिभाषित हैं।

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

फ्लोर्ड और ट्रंकेटेड मॉड्यूलो में क्या अंतर है?

फ्लोर्ड मॉड्यूलो भागफल को ऋण अनंत की ओर पूर्णांकित करता है, इसलिए शेषफल हमेशा भाजक के समान चिह्न रखता है। ट्रंकेटेड मॉड्यूलो भागफल को शून्य की ओर पूर्णांकित करता है, इसलिए शेषफल हमेशा भाज्य के समान चिह्न रखता है। जब दोनों संख्याएँ धनात्मक हों तो ये सहमत होते हैं लेकिन जब कोई ऋणात्मक हो तो भिन्न होते हैं — उदाहरण के लिए, −13 mod 5, फ्लोर्ड परंपरा में 2 है लेकिन ट्रंकेटेड परंपरा में −3।

अलग-अलग कैलकुलेटर में −13 mod 5 अलग उत्तर क्यों देता है?

यह इस पर निर्भर करता है कि किस चिह्न परंपरा का उपयोग किया जाता है। फ्लोर्ड मॉड्यूलो 2 देता है (परिणाम धनात्मक भाजक के चिह्न से मेल खाता है और 0 ≤ r < 5 संतुष्ट करता है)। ट्रंकेटेड मॉड्यूलो −3 देता है (परिणाम ऋणात्मक भाज्य के चिह्न से मेल खाता है)। पायथन का % ऑपरेटर 2 लौटाता है (फ्लोर्ड); जावास्क्रिप्ट, C और जावा के % ऑपरेटर −3 लौटाते हैं (ट्रंकेटेड)। कोई भी 'अधिक सही' नहीं है — ये दो अलग, समान रूप से मान्य गणितीय परिभाषाएँ हैं।

हाथ से a mod b की गणना कैसे करें?

भागफल पाने के लिए a को b से भाग दें, अपनी चुनी हुई परंपरा के अनुसार उसे पूर्णांकित करें (फ्लोर्ड के लिए नीचे, ट्रंकेटेड के लिए शून्य की ओर), फिर a में से उस पूर्णांकित भागफल का b गुना घटाएँ: शेषफल = a − b × भागफल। 13 mod 5 के लिए: 13 ÷ 5 = 2.6, दोनों तरीकों से भागफल 2 पर पूर्णांकित होता है, इसलिए शेषफल = 13 − 5×2 = 3।

मॉड्यूलर अंकगणित और घड़ी अंकगणित में mod का क्या अर्थ है?

मॉड्यूलर अंकगणित संख्याओं को मापांक तक पहुँचने के बाद 'चक्र में लौटता हुआ' मानता है — क्लासिक उदाहरण 12-घंटे की घड़ी है, जहाँ समय की गणना mod 12 (या 24-घंटे समय के लिए mod 24) से की जाती है। उदाहरण के लिए, 24-घंटे संकेतन में 15 बजे, 12-घंटे घड़ी पर 15 mod 12 = 3 के अनुरूप है। मॉड्यूलो वह संक्रिया है जो यह 'चक्रित' शेषफल देती है।

क्या ऋणात्मक भाजक का मॉड्यूलो लिया जा सकता है?

हाँ। फ्लोर्ड परंपरा के तहत, a mod b (ऋणात्मक b के साथ) एक शेषफल देता है जिसका चिह्न b के समान होता है — उदाहरण के लिए, 13 mod −5 = −2, क्योंकि 13 = (−3)×(−5) + (−2)। ट्रंकेटेड परंपरा के तहत, शेषफल इसके बजाय भाज्य के चिह्न से मेल खाता है: ट्रंकेशन में 13 mod −5 = 3, क्योंकि भागफल शून्य की ओर पूर्णांकित होकर −2 होता है, जिससे 13 − (−5)×(−2) = 13 − 10 = 3 मिलता है।

संदर्भ

  1. Rosen KH. Elementary Number Theory and Its Applications. 6th ed. Pearson, 2010. (Division algorithm and modular arithmetic.)
  2. Leijen D. Division and Modulus for Computer Scientists. Utrecht University Technical Report UU-CS-2001-20, 2001. (Formal comparison of flooring, truncating and Euclidean division conventions.)
  3. ECMA International. ECMA-262: ECMAScript Language Specification — the remainder operator (%). ecma-international.org.

संख्या सिद्धांत · सभी कैलकुलेटर

संबंधित कैलकुलेटर