কম্পিউটার

C++ এ বিট ব্যবহার করে দুটি স্বাক্ষরবিহীন সংখ্যা যোগ করুন।


বিটগুলির একটি স্ট্রীম হিসাবে উপস্থাপিত একটি স্বাক্ষরবিহীন সংখ্যা বাইনারি আকারে লেখা হয়।

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

  1. মাল্টি-ডাইমেনশনাল অ্যারে ব্যবহার করে দুটি ম্যাট্রিক্স যোগ করার জন্য C++ প্রোগ্রাম

  2. দুই নম্বর অদলবদল করতে C++ প্রোগ্রাম

  3. দুই নম্বর যোগ করার জন্য C++ প্রোগ্রাম

  4. পাইথনে দুটি সংখ্যা যোগ করুন