বিটগুলির একটি স্ট্রীম হিসাবে উপস্থাপিত একটি স্বাক্ষরবিহীন সংখ্যা বাইনারি আকারে লেখা হয়।
54 এর বাইনারি ফর্ম হল 110110।
বিট ব্যবহার করে দুটি সংখ্যা যোগ করলে, আমরা বাইনারি যোগ যুক্তি ব্যবহার করে তাদের বাইনারি ফর্ম যোগ করব।
বিট যোগ করার নিয়ম হল −
- 0+0 =0
- 1+0 =1
- 0+1 =1
- বহন =1 সহ 1+1 =0
দুটি সংখ্যা যোগ করার জন্য একটি উদাহরণ দেওয়া যাক,
Input: a = 21 (10101) , b = 27 (11011) Output: 48 (110000)
ব্যাখ্যা − 10101 + 11011 =110000। আমরা সর্বনিম্ন উল্লেখযোগ্য বিট শুরু করে বিট যোগ করব। এবং তারপরে পরবর্তী বিটে প্রচার করা।
উদাহরণ
#include <bits/stdc++.h> #define M 32 using namespace std; int binAdd (bitset < M > atemp, bitset < M > btemp){ bitset < M > 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 < M > num1 (a); bitset < M > num2 (b); cout << binAdd (num1, num2) << endl; }
আউটপুট
The sum of 678 and 436 is 1114