दो से विभाजन
गणित में दो से विभाजन करने या आधा करने को मध्यस्थता या अल्पीकरण भी कहा जाता है।[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 जोड़ा जाता है।
यह भी देखें
- एक आधा
- माध्यिका, एक मान जो डेटा मानों के एक सेट को दो समान उपसमूहों में विभाजित करता है
- द्विभाजन, एक ज्यामितीय वस्तु का दो बराबर हिस्सों में विभाजन
- मंदीकरण , हथियारों के दो कोटों को उनके डिज़ाइनों को आधे में विभाजित करके जोड़ने की एक हेराल्डिक विधि
संदर्भ
- ↑ Steele, Robert (1922), The Earliest arithmetics in English, Early English Text Society, vol. 118, Oxford University Press, p. 82.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ Wadleigh, Kevin R.; Crawford, Isom L. (2000), Software optimization for high-performance computing, Prentice Hall, p. 92, ISBN 978-0-13-017008-8.
- ↑ 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.
- ↑ "Math.scalb". Java Platform Standard Ed. 6. Retrieved 2009-10-11.
- ↑ Programming languages — C, International Standard ISO/IEC 9899:1999, Section 7.12.6.6.