बिट्स के स्ट्रीम के रूप में दर्शाया गया एक अनसाइन्ड नंबर बाइनरी रूप में लिखा जाता है।
54 का बाइनरी रूप 110110 है।
बिट्स का उपयोग करके दो नंबर जोड़ने के लिए, हम बाइनरी एडिशन लॉजिक का उपयोग करके उनके बाइनरी रूप को जोड़ेंगे।
बिट एडिशन के नियम हैं:
- 0+0 = 0
- 1+0 = 1
- 0+1 = 1
- 1+1 = 0 कैरी = 1 के साथ
दो नंबर जोड़ने का एक उदाहरण लेते हैं,
इनपुट: a = 21 (10101), b = 27 (11011) आउटपुट: 48 (110000)
व्याख्या − 10101 + 11011 = 110000। हम कम से कम महत्वपूर्ण बिट से शुरू करके बिट्स जोड़ेंगे। और फिर अगले बिट पर आगे बढ़ेंगे।
उदाहरण
#include <bits/stdc++.h> #define M 32 using namespace std; int binAdd(bitsetatemp, bitset btemp){ bitset ctemp; for (int i = 0; i < M; i++) ctemp[i] = 0; int carry = 0; for (int i = 0; i < M; i++) { if (atemp[i] + btemp[i] == 0){ if (carry == 0) ctemp[i] = 0; else { ctemp[i] = 1; carry = 0; } } else if (atemp[i] + btemp[i] == 1){ if (carry == 0) ctemp[i] = 1; else{ ctemp[i] = 0; } } else{ if (carry == 0){ ctemp[i] = 0; carry = 1; } else{ ctemp[i] = 1; } } } return ctemp.to_ulong(); } int main() { int a = 678, b = 436; cout << "The sum of " << a << " and " << b << " is "; bitset num1(a); bitset num2(b); cout << binAdd(num1, num2) << endl; }
आउटपुट
The sum of 678 and 436 is 1114