इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे।
प्रॉब्लम स्टेटमेंट
हमें दो बड़ी संख्याएं दी जाएंगी और हमें उन्हें जोड़कर आउटपुट प्रदर्शित करने की आवश्यकता है।
ब्रूटफोर्स दृष्टिकोण ऑपरेंड्स के बीच "+" ऑपरेटर का उपयोग करना होगा या हम दो नंबर्स को एक इटरेबल में स्टोर कर सकते हैं और पायथन स्टैंडर्ड लाइब्रेरी में उपलब्ध इनबिल्ट sum फंक्शन का उपयोग कर सकते हैं।
इस दृष्टिकोण में, समय जटिलता बढ़ जाती है क्योंकि गणना सीधे डेसीमल नंबर्स पर होती है।
अब आइए एक और दृष्टिकोण पर चर्चा करें जिसमें डेसीमल नंबर्स के बिट्स पर काम करना शामिल है।
यहां हम एडर्स की अवधारणा का उपयोग करेंगे जो सम और कैरी की गणना करता है।
आइए कार्यान्वयन देखें:
उदाहरण
def Add(x, y):
# कैरी नल हो जाता है
while (y != 0):
# कॉमन बिट्स के साथ कैरी
carry = x & y
# x और y के बिट्स का योग
x = x ^ y
# कैरी एक से शिफ्ट हो जाता है
y = carry << 1
return x
print(Add(19, 34))
आउटपुट
53
सभी वेरिएबल्स और फंक्शन्स ग्लोबल स्कोप में घोषित हैं जैसा कि नीचे दी गई आकृति में दिखाया गया है।

निष्कर्ष
इस लेख में, हमने फुल एडर की मदद से दो नंबर्स को जोड़ने के दृष्टिकोण के बारे में सीखा।