इस लेख में हम देखेंगे कि +, ++, -, या -- जैसे अंकगणितीय ऑपरेटरों का उपयोग किए बिना दो संख्याओं को कैसे जोड़ा जाए।
इस समस्या को हल करने के लिए, हम उन्हें बाइनरी योजक तर्क का उपयोग करके हल कर सकते हैं। उस स्थिति में हमें आधा योजक और पूर्ण योजक डिजाइन किया गया था। ये योजक एक बिट बाइनरी नंबर जोड़ सकते हैं। एकाधिक योजकों को कैस्केडिंग करके, हम बड़ी संख्या जोड़ने के लिए सर्किट बना सकते हैं।
उस योजक में, हमने संख्याओं के बीच XOR ऑपरेशन किया है, फिर कैरी के लिए हम ANDing लॉजिक का प्रदर्शन कर रहे थे। ये सुविधाएँ यहाँ दो संख्याओं को जोड़ने के लिए लागू की गई हैं।
उदाहरण कोड
#include <iostream> using namespace std; int add(int a, int b) { while (b != 0) { //until there is no carry, iterater int carry = a & b; //find carry by anding a and b a = a ^ b; //perform XOR on a and b, and store into a b = carry << 1; //the carry is shifted one bit to the left, and store it to b } return a; } int main() { int a, b; cout << "Enter two numbers to add: "; cin >> a >> b; cout << "The result is: " << add(a, b); return 0; }
आउटपुट
Enter two numbers to add: 56 23 The result is: 79