কম্পিউটার টিউটোরিয়াল

সি++-এ বিট ব্যবহার করে দুটি অনসাইনড সংখ্যা যোগ করা


বাইনারি রূপে অনসাইনড সংখ্যাকে বিট স্ট্রিম হিসেবে প্রকাশ করা যায়।

৫৪-এর বাইনারি রূপ: ১১০১১০।

বিট ব্যবহার করে দুটি সংখ্যা যোগ করার সময় তাদের বাইনারি রূপে বাইনারি যোগের লজিক অনুযায়ী যোগ করা হয়।

বিট যোগার নিয়ম:

  • 0 + 0 = 0
  • 1 + 0 = 1
  • 0 + 1 = 1
  • 1 + 1 = 0 (with carry = 1)

উদাহরণ:

Input: a = 21 (10101), b = 27 (11011)
Output: 48 (110000)

ব্যাখ্যা: ১০১০১ + ১১০১১ = ১১০০০০। লিস্ট সিগনিফিক্যান্ট বিট থেকে যোগ শুরু করে ক্যারি প্রপাগেট করা হয়।

সি++ প্রোগ্রাম

#include <bits/stdc++.h>
#define M 32
using namespace std;

int binAdd(bitset atemp, 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;
    return 0;
}

আউটপুট

The sum of 678 and 436 is 1114

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

  2. C++ প্রোগ্রাম: দুটি সংখ্যা সোয়াপ (Swap) করা

  3. C++ প্রোগ্রাম: দুটি সংখ্যা যোগ করা (Addition)

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