दो से विभाजन

From Vigyanwiki

गणित में दो से विभाजन करने को मध्यस्थता या अल्पीकरण भी कहा जाता है।[1] अन्य संख्याओं द्वारा गुणन और विभाजन से भिन्न संचालन के रूप में विभाजन को इसके मूलभूत चरणों में से एक के रूप में उपयोग किया जाता था।[2] सोलहवीं शताब्दी के अंत तक कुछ गणितज्ञों ने संख्याओं को एक अलग संचालन के रूप में देखना प्रारंभ किया[3][4] और आधुनिक कंप्यूटर प्रोग्रामिंग में इसे अधिकांशतः अलग माना जाता है।[5] संचालन दशमलव अंकगणित में, कंप्यूटर प्रोग्रामिंग में उपयोग की जाने वाली द्विआधारी अंक प्रणाली और अन्य संख्या वाली अंक प्रणालियों से सरल होती है।

द्विआधारी

लन का एक रूप होता है। उदाहरण के लिए, द्विआधारी में 1101001 (दशमलव संख्या 105), एक स्थान दाईं ओर स्थानांतरित होने पर, 110100 (दशमलव संख्या 52) होती है: निम्नतम क्रम बिट, 1, हटा दिया जाता है।

इसी प्रकार, दो 2k को k स्थितियों द्वारा निष्पादित किया जा सकता है। क्योंकि बिट संचालन अधिकांशतः विभाजन की तुलना में बहुत तेज सचालित होते है। चूँकि, सॉफ्टवेयर सुवाह्यता और पठनीयता के लिए, इस प्रतिस्थापन को करने के लिए विभाजन संचालन और संकलक पर भरोसा करके प्रोग्राम लिखना अधिकांशतः सबसे अच्छा होता है।[6] सामान्य लिस्प से एक उदाहरण:

 (setq number #b1101001)   ; #b1101001  —  105
 (ash number -1)           ; #b0110100  —  105 >> 1 ⇒ 52
 (ash number -4)           ; #b0000110  —  105 >> 4 ≡ 105 / 2⁴ ⇒ 6

चूँकि, उपरोक्त कथन, विभाजित हस्ताक्षरित संख्या द्विआधारी संख्याएं हमेशा सही नहीं होती है। 1 बिट से दाईं ओर जाने पर यह दो से विभाजित हो जाता है, हमेशा नीचे की ओर पूर्णांकित होता है। चूँकि, कुछ भाषाओं में, हस्ताक्षरित द्विआधारी संख्याओं का विभाजन 0 की ओर होता है (यदि परिणाम ऋणात्मक होता है, तो इसका मतलब है कि यह पूर्णांकित है)। उदाहरण के लिए, जावा में, -3 / 2 का मूल्यांकन करता है -1, जबकि -3 >> 1 का मूल्यांकन करता है -2. तो इस स्थिति में, जब संख्या संभवतः ऋणात्मक हो सकती है, तो संकलक इसे बिट संचालन द्वारा प्रतिस्थापित करके दो से विभाजन को अनुकूलित नहीं कर सकता है।

द्विआधारी अस्थायी बिंदु

द्विआधारी अस्थायी-बिंदु अंकगणित में, घातांक को एक से घटाकर दो से विभाजित किया जा सकता है (जब तक कि परिणाम एक असामान्य संख्या न हो)। कई प्रोग्रामिंग भाषाएं ऐसे फलन प्रदान करती है जिनका उपयोग अस्थायी बिंदु संख्या को दो से विभाजित करने के लिए किया जा सकता है। उदाहरण के लिए, जावा (प्रोग्रामिंग भाषा) विधि प्रदान करती है java.lang.Math.scalb दो की स्केलिंग के लिए,[7] और C (प्रोग्रामिंग भाषा) फलन प्रदान करती है ldexp[8]

दशमलव

निम्नलिखित कलन विधि दशमलव के लिए होती है। चूँकि, इसका उपयोग किसी सम और विषम संख्या के आधार में किसी भी संख्या N का आधा हिस्सा लेने के लिए एक कलन विधि बनाने के लिए एक नमूने के रूप में किया जा सकता है।

  • इसके बायीं ओर शून्य लगाकर N लिखे।
  • निम्नलिखित तालिका से परिणाम के अंक लिखते हुए, अतिव्यापी संख्याओ में N के अंकों को देखें।
यदि पहला अंक है सम सम सम सम सम विषम विषम विषम विषम विषम
और दूसरा अंक है 0 अथवा 1 2 अथवा 3 4 अथवा 5 6 अथवा 7 8 अथवा 9 0 अथवा 1 2 अथवा 3 4 अथवा 5 6 अथवा 7 8 अथवा 9
लिखे 0 1 2 3 4 5 6 7 8 9

उदाहरण: 1738/2=?

01738 लिखे। अब हम परिणाम प्राप्त करने पर काम करेंगे।

  • 01: सम अंक के बाद 1, 0 लिखे।
  • 17: विषम अंक के बाद 7, 8 लिखे।
  • 73: विषम अंक के बाद 3, 6 लिखे।
  • 38: विषम अंक के बाद 8, 9 लिखे।

परिणाम: 0869.

उदाहरण से यह देखा जा सकता है कि 0 सम है

यदि N का अंतिम अंक विषम अंक होता है तो परिणाम में 0.5 जोड़ा जाता है।

यह भी देखें

  • एक आधा
  • माध्यिका, एक मान जो डेटा मानों के एक सेट को दो समान उपसमूहों में विभाजित करता है
  • द्विभाजन, एक ज्यामितीय वस्तु का दो बराबर हिस्सों में विभाजन
  • मंदीकरण , हथियारों के दो कोटों को उनके डिज़ाइनों को आधे में विभाजित करके जोड़ने की एक हेराल्डिक विधि

संदर्भ

  1. Steele, Robert (1922), The Earliest arithmetics in English, Early English Text Society, vol. 118, Oxford University Press, p. 82.
  2. Chabert, Jean-Luc; Barbin, Évelyne (1999), A history of algorithms: from the pebble to the microchip, Springer-Verlag, p. 16, ISBN 978-3-540-63369-3.
  3. Jackson, Lambert Lincoln (1906), The educational significance of sixteenth century arithmetic from the point of view of the present time, Contributions to education, vol. 8, Columbia University, p. 76.
  4. Waters, E. G. R. (1929), "A Fifteenth Century French Algorism from Liége", Isis, 12 (2): 194–236, doi:10.1086/346408, JSTOR 224785, S2CID 144157808.
  5. Wadleigh, Kevin R.; Crawford, Isom L. (2000), Software optimization for high-performance computing, Prentice Hall, p. 92, ISBN 978-0-13-017008-8.
  6. Hook, Brian (2005), Write portable code: an introduction to developing software for multiple platforms, No Starch Press, p. 133, ISBN 978-1-59327-056-8.
  7. "Math.scalb". Java Platform Standard Ed. 6. Retrieved 2009-10-11.
  8. Programming languages — C, International Standard ISO/IEC 9899:1999, Section 7.12.6.6.